区分conda, anaconda, miniconda

anaconda相当于conda+python+pip+一堆python科学计算常用包(numpy, scipy, matplotlib等)

miniconda相当于conda+python+pip,轻量级。

conda是通用的包管理器,能装pip包(例如numpy),也能装其他语言的软件包(例如ninja, cmake).

如果你用Python,做深度学习,那么强烈建议你使用miniconda/anaconda而不是系统自带Python/pip,虽然硬盘空间可能多消耗一些,但往往能节省在环境配置上的时间开销。

本文的各种命令可以在conda官方的文档中找到:Conda User guide

不过,官网文档内容过于详实,简直就是字典,我是看不下去的..

conda版本

conda -V

或者

conda --version

虚拟环境

创建虚拟环境

conda create -n env_name python=x.y

e.g. 创建python3.5的虚拟环境:

conda create -n py35 python=3.5

删除虚拟环境

conda remove --name env_name --all

重命名虚拟环境

没法直接重命名虚拟环境,只能很naive的从原有环境clone,然后删掉原有环境(或者用下面的“分享环境”的做法,不过估计需要联网速度更慢):

conda create --name new_name --clone old_name
conda remove --name old_name --all

列出虚拟环境

conda env list

或者:

conda info --envs
#也可以用缩写形式:
conda info -e

切换/激活虚拟环境

conda activate env_name

e.g. 激活py35环境:

conda activate py35

退出当前虚拟环境

conda deactivate

分享环境

导出虚拟环境

导出到yml文件,相当于pip用的requirements.txt的升级版

conda env export > environment.yml

注意:如果导出的environment.yml开头几行显示的channel是anaconda官方(https://repo.anaconda.com/pkgs/main),可以考虑换成tuna的镜像通道(https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main)来加速,e.g.

name: base
channels:
- https://repo.anaconda.com/pkgs/main
- defaults
dependencies:
- asn1crypto=0.24.0=py37_0
- attrs=19.3.0=py_0
- backcall=0.1.0=py37_0
...

换成:

name: base
channels:
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
- defaults
dependencies:
- asn1crypto=0.24.0=py37_0
- attrs=19.3.0=py_0
- backcall=0.1.0=py37_0
...

使用yml导入创建虚拟环境

conda env create -n env_name -f environment.yml

复制虚拟环境

conda create -n new_env_name --clone env_name

查看某个环境的位置

默认的conda虚拟环境叫做"base",它提供的python在/home/zz/soft/miniconda

base环境之外的虚拟环境,例如py35,在/home/zz/soft/miniconda3/envs/py35/

在某些开源项目的编译配置环境(例如OpenCV等),可以指定特定版本的python,则需要到/home/zz/soft/miniconda3/envs/py35/这样的位置下找。

列出软件包

包的基本信息

显示当前环境的所有包的基本信息

conda list

显示指定虚拟环境的所有包的基本信息

conda list -n env_name

区分显示conda和pip包的信息

当前环境的:

conda env export

输出结果中- pip开始列出的是pip包列表。

conda env export -n env_name

安装软件包

当前虚拟环境中安装软件包

conda install pkg_name

e.g. 安装cmake(cmake不是一个pypi包,但可以通过conda下载安装,并且如果你在condarc中配置了国内镜像,下载起来会非常快,比自己手动去cmake官网下载快很多):

conda install cmake

指定虚拟环境中安装软件包

conda install --name env_name pkg_name

指定channel下载安装

以下载pytorch包举例:

conda install --channel https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/ pytorch

或者用缩写的参数-c替代--channels,用~/.condarc中配置的名为pytorch的channel

conda install -c pytorch pytorch

删除软件包

当前环境

conda remove pkg_name

指定环境

conda remove --name env_name pkg_name

查找软件包

conda search pkg_name

conda配置

.condarc

Linux/Mac: ~/.condarc

Windows: c:/Users/xxx/.condarc

在国内使用tuna的conda镜像。个人感觉这个.condarc中配置的是各个channel,一方面是管理不同版本的包(例如pytorch这个channe),另一方面可以切换镜像,用来加速。

channels:
- defaults
show_channel_urls: true
default_channels:
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/r
custom_channels:
conda-forge: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
msys2: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
bioconda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
menpo: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
pytorch: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
simpleitk: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud

pip.conf

Linux/Mac: ~/.pip/pip.conf

Windows: C:/Users/xxx/pip/pip.ini

除了配置conda镜像,还需要配置pip镜像。因为很多python包还是需要通过pip而不是conda安装(conda里没有相应的包,只有pypi里有),此时pip使用国内镜像来加速,需要配置pip.conf,例如:

[global]
index-url = https://mirrors.aliyun.com/pypi/simple/ [install]
trusted-host=mirrors.aliyun.com

bash/zsh自动加载

以前都是安装miniconda/anaconda时选择"yes",自动追加配置到~/.bashrc,然后手动复制到~/.zshrc(我默认用的zsh替代了bash作为解释器)。其实可以更简单:

conda init zsh

进入bash/zsh不自动activate base env

conda config --set auto_activate_base false

conda实践:安装python2的pip无法安装的包

由于pip官方的不作为(辣鸡pip),现如今python2对应的pip几乎没法装pypi包了,一旦安装就会失败,提示你说:需要至少python3.5的环境。老子的python2为什么不给用了?垃圾pip。

RuntimeError: Python version >= 3.5 required

解决办法:用conda安装!例如:

conda install numpy

简明conda使用指南的更多相关文章

  1. python anaconda 常用操作;conda 命令指南

    在使用 python anaconda时,经常会用到很多常用操作,记录下来,方便以后更好地使用: conda: Conda既是一个包管理器又是一个环境管理器.你肯定知道包管理器,它可以帮你发现和查看包 ...

  2. Anaconda多环境多版本python配置指导

    Anaconda多环境多版本python配置指导 字数3696 阅读644 评论0 喜欢0 最近学python,读完了语法后在GitHub找了一些练习来做,由 于学的是python3.x语法,而Git ...

  3. typedef和typename关键字

    .类型说明typedef 类型说明的格式为: typedef 类型 定义名; 类型说明只定义了一个数据类型的新名字而不是定义一种新的数据类型.定义名表示这个类型的新名字. 例如: 用下面语句定义整型数 ...

  4. Ubuntu 简单安装和配置 GitLab

    使用的 Ubuntu Server 16.04 LTS 版本,服务器托管在 Azure 上,用的 1 元试用 1 个月服务器订阅(1500 元额度). 安装命令(推荐使用): curl -sS htt ...

  5. typedeifn typename

    1.类型说明typedef 类型说明的格式为: typedef  类型 定义名; 类型说明只定义了一个数据类型的新名字而不是定义一种新的数据类型.定义名表示这个类型的新名字. 例如: 用下面语句定义整 ...

  6. ruby 学习网站

    Ruby on Rails官网: http://rubyonrails.org/ Rails Guides:http://guides.rubyonrails.org/ -中文版: http://gu ...

  7. Ubuntu16.04+Tensorflow+CUDA9.0+cuDNN7.0 环境简明搭建指南

    最近在研究风格化得内容,发现搭建环境实在是很头疼的事情,虽然网上已经有各路大神总结整理好了很多搭建指南,各种问题的解决方案都已经罗列出来供大家参考.然后参考终究是参考,真正自己上手,发现仍旧是各种坑, ...

  8. 【转】git - 简明指南

    git - 简明指南 助你入门 git 的简明指南,木有高深内容 ;) 作者:罗杰·杜德勒 感谢:@tfnico, @fhd 和 Namics其他语言 english, deutsch, españo ...

  9. git - 简明指南

    助你入门 git 的简明指南,木有高深内容 ;) 作者:罗杰·杜德勒 感谢:@tfnico, @fhd 和 Namics如有纰漏,请在 github 提报问题 安装 下载 git OSX 版 下载 g ...

随机推荐

  1. 史上最全NOIP初赛知识点

    CSP-J/S 第一轮知识点选讲 \(NOIP\)(全国青少年信息学奥林匹克竞赛)于2019年取消.取而代之的是由\(CCF\)推出的非专业级软件能力认证,也就是现在的\(CSP-J/S\).作为一名 ...

  2. python的开发工具pycharm安装及激活

    下面介绍一种较好用也常用的python开发工具Pycharm,此文包括安装及注册激活码 一:安装方法如下: 1:进入官网下载:https://www.jetbrains.com/ 2:下载Commun ...

  3. [LeetCode] 76. Minimum Window Substring 最小窗口子串

    Given a string S and a string T, find the minimum window in S which will contain all the characters ...

  4. kubeadm部署K8S集群v1.16.3

    本次先更新kubeadm快速安装K8S,二进制安装上次没写文档,后续更新,此次最新的版本是V1.16.3 1.关闭防火墙.关闭selinux.关闭swapoff -a systemctl stop f ...

  5. asp.net core 3.0 身份认证 替换为自已的提供程序 AuthenticationStateProvider replace to SelfAuthenticationStateProvider

    public void ConfigureServices(IServiceCollection services) { // 添加身份验证服务 services.AddAuthorizationCo ...

  6. Tomcat基础操作

    1.在WebApps ROOT目录里,如果删除过ROOT从新创建,放置index.html,index.jsp即可访问. 2.修改默认8080端口,打开server.xml,将8080端口修改为80即 ...

  7. jdk1.8 Stream 特性总结

    不是数据结构 它没有内部存储,它只是用操作管道从 source(数据结构.数组.generator function.IO channel)抓取数据. 它也绝不修改自己所封装的底层数据结构的数据.例如 ...

  8. SFTP 定时任务下载

    1.上传 winscp.exe /console /command "option batch continue" "option confirm off" & ...

  9. kvm虚拟机日常管理与配置

    1.  查看KVM虚拟机配置文件及运行状态 (1) KVM虚拟机默认配置文件位置: /etc/libvirt/qemu/ autostart目录是配置kvm虚拟机开机自启动目录.    (2) vir ...

  10. 《 .NET并发编程实战》阅读指南 - 第11章

    先发表生成URL以印在书里面.等书籍正式出版销售后会公开内容.