conda 是一款包和环境管理工具。它可以适用于多种语言,比如python、R、Scala等。我们以python为例来看看conda的使用。
包就是我们在最开始import xxx
进来的东西,比如说import torch
、import matplotlib
等。在我们下载完python之后,这些包都不是自带的,需要我们去下载并使用。conda就可以理解为这些包下载的平台。
环境管理是什么呢?我们去github上下载代码,一般都会在README.md
中给出环境安装的指引。不同代码适配的环境是不一样的。比如一份代码用python2.7,另一份用python3.6;一份用pytorch1.3,另一份用pytorch0.3。如果每次运行之前都重新装一次环境简直太麻烦了。所以可以用到环境管理,来为不同的代码创造不同的环境。
基本命令
1)创建环境
# 创建一个名为 my_env_name 的环境,用python 3.7 版本
conda create -n my_env_name python3.7
等待一段时间,创建完成之后会有激活环境的提示。
2)激活环境
# 激活 my_env_name 环境
conda activate my_env_name
3)列出所有环境
conda env list
4)退出激活环境
conda deactivate
环境分享
- 如果我们两个环境,只有个别包是版本不同的,其他基础包都是相同的。我们可以考虑从之前的环境克隆包,然后重新安装的新的版本。
- 在某个环境上安装了不少东西,想它这个环境的基本信息存下来并分享,便可以导出为
yml
文件。
# 导出为 my_env_name.yml 文件
conda env export > my_env_name.yml
# 使用 yml 导入创建的环境
conda env create -n new_env -f my_env_name.yml
# 克隆新的环境
conda create -n new_env_2 --clone env_name
查看my_env_name.yml
:这里包括环境的名称,找包的渠道channel
和已经安装的包。
安装包
# 列出所有包
conda list
# 安装包
conda install pkg_name
# 从指定 channel 下载
conda install --channel https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/ pytorch
# 用 -c 代替 --channel
conda install -c pytorch pytorch
如果安装时发生了:在channel中找不到包的错误,可以去官网 anaconda.org 搜索包名,会给出下载的指令。
conda 配置
Mac 在 ~/.condarc
下可以配置下载的源,换成国内的速度会很快。