conda 最大的优势在于可以解决依赖,非常省心。例如,当你想安装支持 GPU 版本的 TensorFlow 时,一般需要先安装 TensorFlow,再安装 cuda 框架,最好安装 cudnn 神经网络加速工具。而使用 Conda 安装时,只需要 conda install tensorflow,一切自动搞定。下面主要记录开发过程中涉及的命令:

常用命令

查看安装了哪些包

1
conda list

查看当前存在哪些虚拟环境

1
2
3
conda env list 
conda info -e
# 前面有个‘*’的代表当前环境

检查更新当前conda

1
conda update conda

Python创建虚拟环境

conda create -n your_env_name python=x.x
anaconda命令创建python版本为x.x,名字为your_env_name的虚拟环境。your_env_name文件可以在Anaconda安装目录envs文件下找到。

1
2
#conda create -n your_env_name python=x.x
conda create -n ml_py3.8 python=3.8

激活或者切换虚拟环境

打开命令行,输入python –version检查当前 python 版本。

Linux: source activate your_env_name
Windows: activate your_env_name

1
2
3
4
5
6
7
# Linux
#source activate your_env_name
source activate ml_py3.8

#Windows
#activate your_env_name
activate ml_py3.8

对虚拟环境中安装额外的包

conda install -n your_env_name [package]

1
2
#conda install -n your_env_name [package]
conda install -n ml_py3.8 scikit-learn

关闭虚拟环境(即从当前环境退出返回使用PATH环境中的默认python版本)

deactivate env_name 或者activate root切回root环境
Linux下:source deactivate env_name

1
2
3
4
5
6
7
#Linux
# source deactivate your_env_name
source deactivate ml_py3.8

#Windows
#activate your_env_name
deactivate ml_py3.8

删除虚拟环境

conda remove -n your_env_name –all

1
2
# conda remove -n your_env_name --all
conda remove -n ml_py3.8 --all

删除环境钟的某个包

conda remove –name $your_env_name $package_name

1
conda remove --name $your_env_name  $package_name

设置国内镜像

http://Anaconda.org的服务器在国外,安装多个packages时,conda下载的速度经常很慢。清华TUNA镜像源有Anaconda仓库的镜像,将其加入conda的配置即可

查看 conda 配置

1
conda config --show

添加Anaconda的国内镜像源

1
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/

如果要删除添加的 channel:

1
2
3
4
conda config --remove channels https://pypi.doubanio.com/simple/

# 全部
conda config --remove-key channels

回滚环境

有时包乱了或者更新错了,想回滚到之前状态。

先查看版本列表:

1
conda list --revisions

选择要回滚的版本执行以下命令:

1
conda install --revision REV_NUM

REV_NUM 是要回滚的版本,比如 0。

用以下方法打包一个conda环境conda-pack

conda的一个极好的功能是conda-pack,这在竞争对手中是没有的。在WhiteBox,我们利用这个功能将我们的项目部署在极其恶劣的环境中,比如大公司的Hadoop集群,有极端的安全措施,并且与互联网隔离。

conda-pack 是一个库,它允许你将整个环境打包成一个压缩文件(tar.gz),你只需复制和粘贴到某个地方,它就可以正常工作。

  1. 安装conda-pack: conda的创造者建议在基本环境中安装这个库,在那里你可以运行conda install -c conda-forge conda-pack 。

  2. 激活所需的环境:conda activate environment_name

  3. 把你自己放在你想生成压缩文件的路径中:cd path/to/desired/directory 。

  4. 打包你的环境:conda pack 。这可能需要一些时间,取决于环境的大小和安装的库的数量。

  5. 将压缩文件移到目的地(例如,通过ssh)。

  6. 为环境创建一个文件夹:mkdir environment_folder 。

  7. 在文件夹中解压环境:tar xzvf <environment_name>.tar.gz -C environment_folder 。

  8. 激活环境:source environment_folder/bin/activate 。

  9. 运行conda-unpack 来重新创建符号链接并设置好一切。