conda使用

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了conda使用相关的知识,希望对你有一定的参考价值。

参考技术A conda 类似于Windows系统的软件商城,可以自动安装软件。分为anaconda 和 miniconda(简化版)两个版本。
conda search 搜索软件
conda install 安装软件
conda info 查看conda配置信息
.condarc 存储channel信息
配置channel

conda config --add channels https://mirrors.bfsu.edu.cn/anaconda/pkgs/main/
conda config --add channels https://mirrors.bfsu.edu.cn/anaconda/cloud/conda-forge/
conda config --add channels https://mirrors.bfsu.edu.cn/anaconda/cloud/bioconda/
conda config --set show_channel_urls yes

conda config --add channels https://mirrors.aliyun.com/anaconda/cloud/msys2
conda config --add channels https://mirrors.aliyun.com/anaconda/cloud/bioconda
conda config --add channels https://mirrors.aliyun.com/anaconda/pkgs/main
conda config --add channels https://mirrors.aliyun.com/anaconda/pkgs/r
conda config --set show_channel_urls yes

简明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
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使用的主要内容,如果未能解决你的问题,请参考以下文章

使用诗歌从 conda-forge(例如 cartopy)安装预构建包,而不依赖 conda(仅使用通道)

如何安装和初始设定并使用conda

简明conda使用指南

关于anaconda3的conda命令在使用过程中突然失效

Python基础—conda使用笔记

在Mac终端下使用conda命令提示未找到命令conda