文章目录
Anaconda安装
Anaconda官网下载安装包: https://www.anaconda.com/.
1. 创建虚拟环境命令
conda create -n ENV-NAME python=**
ENV-NAME是虚拟环境的名字,后面**指定python版本,例如:
conda create -n myenv python==3.9.0
2. 激活虚拟环境
conda activate ENV-NAME
3. 在虚拟环境中安装软件包
安装方式有两种,用conda或者pip都可以:
conda install PACKAGE-NAME
pip install PACKAGE-NAME
激活环境后所有的包都会安装在该虚拟环境下。例如安装python, 如果指定版本号就会装该版本,不指定的话会装最新版:
conda install python==3.10.0
pip install tensorboardX==2.4.1
4. 展示虚拟环境中已经安装好包
用conda装的所有包(两种方式,一种是已经激活环境,一种是没有激活环境):
conda list
conda list -n ENV-NAME
用pip装的所有包
pip list
5. 查看所有虚拟环境的信息
conda info --env
6. 删除虚拟环境
conda remove -n ENV-NAME --all
该命令会将ENV-NAME里的所有安装包删除,并删除掉该环境名。
7. 查看Anaconda当前设置的下载源
conda config --show
8. 将默认的源换成中科大源(在国内的话会下载快一些)
conda config --add channels http://mirrors.ustc.edu.cn/anaconda/pkgs/main/
其他的例如清华源等等:
- 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/cloud/conda-forge/
9. 将虚拟环境生成yaml文件&requirement.txt文件(方便在其他机器上运行)
conda env export > ENV-NAME.yaml
ENV-NAME是虚拟环境的名字,当然其他名字也可以了。需要注意环境配置文件是在本台机器上导出的,文件里的软件包是按照本台机器配置的,导出的时候,把这些包的详细信息也导了出来。当我们按照这个文件去别的机子(例如服务器)创建环境时,conda会结合我们当前机器的配置信息,按照配置文件里包的详细信息,去找这个包,结果发现“查无此包”,环境创建失败,报出Solving environment: failed和ResolvePackageNotFound错误。
这个时候需要删除包的具体信息,即包名称第二个等号及后面的内容:
例如:threadpoolctl=2.2.0=pyh0d69192_0,修改为 threadpoolctl=2.2.0 或者 threadpoolctl
参考链接:https://www.jianshu.com/p/51913628820a
pip freeze > ENV-NAME.txt
上面的yaml文件是生成conda安装的所有包的对应版本信息,下面的ENV-NAME.txt(requirement.txt)是生成pip安装的所有包的对应版本信息.
如果您在 requirements.txt 文件中得到一些路径名而不是版本号,例如:
cffi @ file:///C:/b/abs_49n3v2hyhr/croot/cffi_1670423218144/work
请使用此 pip 命令解决它:
pip list --format=freeze > ENV-NAME.txt
10. 其他机器上还原虚拟环境(用yaml文件和requirement.txt)
conda env create -f ENV-NAME.yaml
pip install -r ENV-NAME.txt
11. 参考资料
(a)conda 虚拟命令集合: https://docs.conda.io/projects/conda/en/latest/_downloads/843d9e0198f2a193a3484886fa28163c/conda-cheatsheet.pdf
持续更新中,谢谢支持~