datawhale数据分析task01

 

 



4.如何管理环境?

conda 可以为你不同的项目建立不同的运行环境。

0)安装nb_conda用于notebook自动关联nb_conda的环境。

1)创建环境

在终端中使用:

conda create -n env_name package_names

上面的命令中,env_name 是设置环境的名称(-n 是指该命令后面的env_name是你要创建环境的名称),package_names 是你要安装在创建环境中的包名称。

例如,要创建环境名称为 py3 的环境并在其中安装 numpy,在终端中输入 conda create -n py3 pandas。

2)创建环境时,可以指定要安装在环境中的 Python 版本

当你同时使用 Python 2.x 和 Python 3.x 中的代码时这很有用。要创建具有特定 Python 版本的环境,例如创建环境名称为py3,并安装最新版本的Python3在终端中输入:

conda create -n py3 python=3 

或也可以这样创建环境名称为py2,并安装最新版本的Python2:

conda create -n py2 python=2

 

因为我做的项目不同,有时候会用到Python2,还有时候会用到Python3。所以我在自己的计算机上创建了这两个环境,并分别取了这样的环境名称:py2,py3。这样我可以根据不同的项目轻松使用不同版本的python。

如果你要安装特定版本(例如 Python 3.6),请使用 conda create -n py python=3.6

 

3)进入环境

在 Windows 上,你可以使用 activate my_env进入。在 OSX/Linux 上使用 source activate my_env 进入环境。

进入环境后,你会在终端提示符中看到环境名称,下面图片是我进入py3的环境(这里的py3是我上面创建环境时自己起的名称,你可以起个自己喜欢的名称)。

进入环境后,我可以用conda list 查看环境中默认安装的几个包:

在环境中安装包的命令与前面一样:conda install package_name。

不过,这次你安装的特定包仅在你进入环境后才可用。

 

3)离开环境

在 Windows 上,终端中输入:

deactivate

在 OSX/Linux 上 输入:

conda deactivate

 

4)共享环境

共享环境非常有用,它能让其他人安装你的代码中使用的所有包,并确保这些包的版本正确。比如你开发了一个药店数据分析系统,你要提交给项目部署系统的王二狗来部署你的项目,但是王二狗并不知道你当时开发时使用的是哪个python版本,以及使用了哪些包和包的版本。这怎么办呢?

 

你可以在你当前的环境中终端中使用 conda env export > environment.yaml 将你当前的环境保存到文件中包保存为YAML文件(包括Pyhton版本和所有包的名称)。

命令的第一部分 conda env export 用于输出环境中的所有包的名称(包括 Python 版本)。

在“notebook工作文件夹”下(及你在终端中上图的路径)可以看到导出的环境文件:

在 GitHub 上共享代码时,最好同样创建环境文件并将其包括在代码库中。这能让其他人更轻松地安装你的代码的所有依赖项。

导出的环境文件,在其他电脑环境中如何使用呢?

首先在conda中进入你的环境,比如activate py3

然后在使用以下命令更新你的环境:

#其中-f表示你要导出文件在本地的路径,所以/path/to/environment.yml要换成你本地的实际路径
conda env update -f=/path/to/environment.yml

 

对于不使用 conda 的用户,我通常还会使用 pip freeze > environment.txt 将一个 txt文件导出并包括在其中。

具体见这里:

举个例子你可能更容易理解这个使用场景:

首先,我在自己的电脑上在conda中将项目的包导出成environment.txt 文件:

然后我将该文件包含在项目的代码库中,其他项目成员即使在他的电脑上没有安装conda也可以使用该文件来安装和我一样的开发环境:

他在自己的电脑上进入python命令环境,然后运行以下命令就可以安装该项目需要的包:

pip install -r /path/requirements.txt

其中/path/requirements.txt是该文件在你电脑上的实际路径。

5)列出环境

我有时候会忘记自己创建的环境名称,这时候用 conda env list 就可以列出你创建的所有环境。

你会看到环境的列表,而且你当前所在环境的旁边会有一个星号。默认的环境(即当你不在选定环境中时使用的环境)名为 root。

6)删除环境

如果你不再使用某个环境,可以使用 conda env remove -n env_name 删除指定的环境(在这里环境名为 env_name)。

 

posted @ 2019-08-15 12:01  Loser_King  阅读(130)  评论(0编辑  收藏  举报