基于Windows下Anaconda创建python虚拟环境教程
Anaconda是目前最流行的数据科学平台以及现代机器学习的基础。同时Anaconda 也是一个Python的发行版,专注于人工智能,天然适合科学计算,数据分析和机器学习,其包管理器是Conda 。Conda 是一个开源的包管理系统和环境管理系统,可在 Windows、macOS 和 Linux 上运行。 Conda 可快速安装、运行和更新包及其依赖项。 Conda 可以轻松地在计算机上创建、保存、加载和切换环境。 它是为 Python 程序而创造的,但它可以打包和分发任何语言的软件,换言之,Conda 的设计理念——Conda 将几乎所有的工具、第三方包都当做package对待,甚至包括python和Conda 自身 Anaconda则是一个打包的集合,里面预装好了Conda 、某个版本的python(若干虚拟环境)、众多packages、科学计算工具等。


一、安装Anaconda(若已经成功安装可忽略此步),点击下面链接打开文章,根据文章的第五个大模块进行操作安装。注意:Anaconda的python虚拟环境可以和Pycharm的编译环境相连。

安装Anaconda文章:点击打开《基于Windows中学习Deep Learning之搭建Anaconda+Pytorch(Cuda+Cudnn)+Pycharm工具和配置环境完整最简版》文章


二、安装完成后打开Anaconda Prompt。




三、Conda基本命令
检验是否安装Anaconda以及当前Conda的安装版本。

conda -V


检查更新当前conda版本(注意:一般不用频繁更新)。

conda update conda

查看安装的Anaconda目前创建的各虚拟环境(注意:各虚拟环境均存储在Anaconda的envs文件夹下,下面图片中的base表示安装好的Anaconda原始自带的环境,其余皆为用户创建的虚拟环境,若没有表示还没创建,不必着急后续可以创建)。

conda env list


创建虚拟环境(注意:“conda create -n + 拟创建的虚拟环境名称”,博主举例拟创建的虚拟环境名称是xr,在下面创建虚拟环境xr过程中还需要再输入y)。

conda create -n xr

y


激活虚拟环境(注意:“conda activate + 拟激活的虚拟环境名称”,博主举例拟激活的虚拟环境名称是xr,激活成功与否可以通过下图观察到命令前括号内的默认环境base换成xr)。

conda activate xr


退出当前虚拟环境(注意:若是其他虚拟环境下输入运行下面命令会退到默认环境,默认环境下输入运行下面命令会退到控制平台CMD)。

conda deactivate


查看环境(虚拟环境)下已经安装的python库和包(注意:此时查看的是默认的base环境下安装的python库和包,图片下面命令行前面括号有个base就是这个理解,若想要查看其他已创建的虚拟环境需要先激活虚拟环境,再输入此命令查看,如下面第二张图是先激活虚拟环境xr,然后查看xr下已经安装的python库和包)。

conda list



环境复制克隆备份(注意:在安装许多软件后,可能某个时候因为某些操作,软件安装破坏当前运行良好的环境,因此复制克隆备份环境十分必要;“conda create -n + 拟克隆的虚拟环境名称 + —clone + 拟被克隆的虚拟环境名称”,博主举例拟克隆的虚拟环境名称是xr,拟被克隆的虚拟环境名称是xrs,换言之,复制xr变成xrs)。

conda create -n xrs --clone xr



删除虚拟环境(注意:“conda remove -n + 拟删除的虚拟环境名称 + —all”,博主举例拟激活的虚拟环境名称是xrs)。

conda remove -n xrs --all



四、学习完上一个步骤Conda的基本命令,现在开始创建一个python虚拟环境(注意:“conda create -n + 拟创建的python虚拟环境名称 + python= + python版本号”,博主举例拟创建的python虚拟环境名称是rothschildlhl,python版本号是3.6。创建时间大概5min左右,请耐心等待,创建python虚拟环境在此步就成功结束了,然后一定要将新创建的虚拟环境的Scripts文件内容添加到环境变量PATH中,博主举例是“D:\Anaconda\envs\rothschildlhl\Scripts”路径)。

conda create -n rothschildlhl python=3.6

y




五(可忽略)、接下来博主在导入创建一个深度学习模型库DeepPurpose的python虚拟环境DeepPurpose并配置的过程,相当于实践一下,只想创建python虚拟环境在第四步就已经成功结束。注意:若用户开启VPN则安装前需要关闭VPN,避免安装不成功。
下载项目代码库到E:/DeepPurpose路径文件下。

git clone https://github.com/kexinhuang12345/DeepPurpose.git E:/DeepPurpose


将路径转到上一步git项目下载到本地的路径,也就是E:/DeepPurpose路径。

E:

cd DeepPurpose


导入E:/DeepPurpose路径下的yml 文件,再根据 yml 文件内容新创建对应虚拟环境(注意:运行下面命令之前必须路径转到yml文件的路径,而且这是新创建一个虚拟环境那么如果是同一台电脑必须删除原同名的虚拟环境或者将原虚拟环境更换名称)。

conda env create -f environment.yml


conda activate DeepPurpose


上步操作只会创建虚拟环境并导入conda命令直接安装的包,但是原虚拟环境大部分pip安装的包需要在新的虚拟环境下pip导入安装通过之前原虚拟环境pip导出的requirements.txt(注意:上步虚拟环境已经创建,若在此步报一些安装错误可以打开requirements.txt文件删除这些报错安装的包,到时候需要再pip单个下载pip之前安装报错的包到此虚拟环境;为保证顺利pip下载,启用https://pypi.douban.com/simple这个镜像可以下载快速顺利,当然不用镜像也可以只不过时间长容易安装超时报错)。

pip install -r requirements.txt -i https://pypi.douban.com/simple


之前创建好的一个python虚拟环境,名称是DeepPurpose(注意:创建python虚拟环境在成功结束后一定要将新创建的虚拟环境的Scripts文件内容添加到环境变量PATH中)。




激活python虚拟环境DeepPurpose。

conda activate DeepPurpose


安装相关python包和库等。

conda install -c conda-forge rdkit

或者

conda install -c rdkit rdkit

conda install -c conda-forge notebook

或者

pip install jupyter notebook

conda install -c conda-forge scikit-learn

或者

pip install scikit-learn

pip install rdkit-pypi

pip install git+https://github.com/bp-kelley/descriptastorus

或者先通过github链接将项目下载到本地,然后转此项目setup.py文件,然后执行下面的命令:

python setup.py install

pip install DeepPurpose


六、若在python虚拟环境中(博主举例python虚拟环境是rothschildlhl)出现“pip-script.py’ is not present.”类似的错误,原因在于pip更新不成功,原来的pip版本也被破坏。
更新pip命令

pip install --upgrade pip


解决错误,根据下面命令重新安装最新版本pip

conda activate rothschildlhl

python -m ensurepip

python -m pip install --upgrade pip


七、Conda导出导入和更新虚拟环境
激活(切换)到需要导出的虚拟环境(博主举例以之前创建的虚拟环境transformers为例)。

conda activate transformers


将虚拟环境transformers导出保存为yml文件并命名为xrlhl.yml,此操作只会导出conda命令直接安装的包,原虚拟环境大部分pip安装的包需要pip导出安装库到pip.txt,后续再导入到新虚拟环境(注意:默认导出文件到命令行前面的路径,博主举例的是C:\Users\25216,可以见下图)。

conda env export > xrlhl.yml

pip freeze >pip.txt







导入yml 文件,再根据 yml 文件内容新创建对应虚拟环境(注意:运行下面命令之前必须路径转到yml 文件的路径,而且这是新创建那么如果是同一台电脑必须删除原同名的虚拟环境或者将原虚拟环境更换名称)。

 conda env create -f xrlhl.yml

conda activate transformers

pip install -r pip.txt
 


根据 yaml(yml)文件更新已经创建的虚拟环境(注意:博主举例是xrlhl.yml文件更新虚拟环境DeepPurpose)。

conda env update -n DeepPurpose --file xrlhl.yml