简明conda使用指南

目录

区分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 -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

使用yml导入创建虚拟环境

conda env create -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
在国内使用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

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

conda init zsh

进入bash/zsh不自动activate base env

conda config --set auto_activate_base false
上一篇:python3.6+RF环境搭建


下一篇:anaconda配置清华大学开源软件镜像