anaconda 环境管理
conda 可以为你不同的项目建立不同的运行环境。
创建环境
conda create -n python36 numpy
上面的命令中,python27是设置环境的名称(-n是指该命令后面的python36是你要创建环境的名称),numpy是你要安装在环境中的包名称。
注意:创建环境时,可以指定要安装在环境中的Python版本。当你同时使用 Python 2.x 和 Python 3.x 中的代码时这很有用。要创建具有特定 Python 版本的环境,例如创建环境名称为python36,并安装最新版本的Python3.6在终端中输入:
conda create –n python36 python=3.6
或也可以这样创建环境名称为python27,并安装最新版本Python2.7:
conda create –n python27 python=2.7
因为大家做的项目不同,有时候会用到Python2,还有时候会用到Python3。所以可以在自己的计算机上创建了这两个环境,并分别取了这样的环境名称:python27,python36。这样我可以根据不同的项目轻松使用不同版本的python。
进入环境
在 Windows 上,你可以使用
conda activate python27
进入。进入之后,你可以在终端提示符中看到环境名称。
离开环境
在 Windows 上,终端中输入:
deactivate
共享环境
共享环境非常有用,它能让其他人安装你代码中使用的所有包,并确保这些包的版本正确。比如你开发了一个药店数据分析系统,你要提交给项目部署系统的人来部署你的项目,但是他们并不知道你当时开发时使用的是哪个python版本,以及使用了哪些包和包的版本。这怎么办呢?你可以在你当前的环境的终端中使用:
conda env export > environment.yaml
将你当前的环境保存到文件中包保存为YAML文件(包括Pyhton版本和所有包的名称)。命令的第一部分 conda env export 用于输出环境中的所有包的名称(包括 Python 版本)。你在终端中上可以看到导出的环境文件路径。在 GitHub 上共享代码时,最好同样创建环境文件并将其包括在代码库中。这能让其他人更轻松地安装你的代码的所有依赖项。
那么问题来了:导出的环境文件,在其他电脑环境中如何使用呢?
首先在conda中进入你的环境,比如conda activate python27。然后在使用以下命令更新你的环境:
#其中-f表示你要导出文件在本地的路径,所以/path/to/environment.yml要换成你本地的实际路径
conda env update -f=/path/to/environment.yml
对于不使用conda 的用户,我们通常还会使用以下命令将一个 txt文件导出并包括在其中:
pip freeze > environment.txt
然后我将该文件包含在项目的代码库中,其他项目成员即使在他的电脑上没有安装conda也可以使用该文件来安装和我一样的开发环境:
他在自己的电脑上进入python命令环境,然后运行以下命令就可以安装该项目需要的包:
#其中C:\Users\Microstrong\enviroment.txt是该文件在你电脑上的实际路径。
pip install -r C:\Users\Microstrong\enviroment.txt
列出环境
有时候会忘记自己创建的环境名称,这时候用 conda env list
就可以列出你创建的所有环境。
你会看到环境的列表,而且你当前所在环境的旁边会有一个星号。默认的环境(即当你不在选定环境中时使用的环境)名为 base。
删除环境
如果你不再使用某个环境,可以使用以下命令。
#删除指定的环境(在这里环境名为 python27)。
conda env remove -n python27