本文档介绍利用conda构建anaconda的环境(environment)以及离线安装环境的经验

environment是一个完整、包含指定版本第三方包(package)的虚拟python环境,conda解决了第三方包之间版本的依赖问题。

可以利用environment构建完成不同项目需要的第三方包的环境,满足项目的编程需求。

离线安装环境的功能,使得处在断网状态的计算机,也能安装指定版本的第三方包。

文档内容简单,主要是自己操作过程遇到问题的处理笔记。


  1. 利用yml文件构建anaconda的环境:

打开anaconda prompt

切换至yml文件所在路径,假设文件名为my_env.yml

输入命令:conda env create -f my_env.yml


2. 删除anaconda的环境:

假设环境名为my_env

打开anaconda prompt

输入命令:conda remove --name my_env --all

或者输入命令: conda env remove --name my_env


3.打包anaconda的环境,需要预先安装conda-pack的package:

假设环境名为my_env

打开anaconda prompt

输入命令:conda pack -n my_env

将在promt当前路径下生成一个my_env.tar.gz的压缩文件


4. 离线安装anaconda的环境,需要事先生成环境的压缩文件:

假设已经用conda-pack输出环境的压缩包my_env.tar.gz

将压缩文件解压输出为一个my_env文件夹,将整个文件夹拷贝至Anaconda3/envs/路径下即可


5. 查看环境列表

打开anaconda prompt

输入命令:conda env list


6. 更新一个已有的环境:

假设环境名为my_env

打开anaconda prompt

切换至yml文件所在路径,假设文件名为my_env.yml

输入命令:conda env update -f my_env.yml --prune


7. 遇到solving environment时间过长:

一般可能是网络问题,建议使用国内镜像获得package,将yml文件中的channel设置为,越靠后的URL优先级越高


8. 遇到conda/pip conflicts:

conda和pip中安装了重复的package,比如conda安装了pytorch,pip安装了torch。解决方法就是删除其中之一。


9. 环境中配置spyder:

在yml文件中增加spyder-kernel即可,版本需要与base环境中spyder的版本对应。可用命令conda list查看

比如:- spyder-kernels=1.9.4=py38_0


10. 环境中配置jupyter notbook

在yml文件中增加ipykernel即可

比如: - ipykernel

假设环境名为my_env,成功安装之后,按照以下顺序进行配置:

打开anaconda prompt

输入命令: conda activate my_env # switch to your environment

ipython kernel install --user --name=my-env-kernel # naming the kernel

conda deactivate # return to base environment that has jupyter installed

jupyter notebook # launch jupyter notebook and you can choose your new kernel


11. 导出某个环境中所有package信息至yml文件中

打开anaconda prompt

假设环境名为my_env,导出的yml文件名为my_env.yml,操作结束后将在prompt当前目录找到yml文件

输入命令:conda env export --name my_env > my_env.yml

yml文件示例:

更多参考资料