Python独立环境

2018/06/16 00:01
阅读数 55

Python独立环境安装

如果大量的项目全部混杂在一个环境下,程序很可能会在预想不到的地方停止运行,而且不利于把握当前环境的具体状态。为了防止这种情况发生,可以考虑搭建简单的独立环境。

创建独立环境的方法一般有两种:

1.conda

2.virtualenv

1.canda

Anaconda 能让你在数据科学的工作中轻松安装经常使用的程序包。还将使用它创建虚拟环境,以便更轻松地处理多个项目。Anaconda 简化了工作流程,并且解决了多个包和 Python 版本之间遇到的大量问题。

Anaconda 实际上是一个软件发行版,它附带了 ** conda ** 、Python 和 150 多个科学包及其依赖项。应用程序 conda 是包和环境管理器。Anaconda 的下载文件比较大(约 500 MB),因为它附带了 Python 中最常用的数据科学包。如果只需要某些包,或者需要节省带宽或存储空间,也可以使用 Miniconda 这个较小的发行版(仅包含 conda 和 Python)。但你仍可以使用 conda 来安装任何可用的包,它只是自身没有附带这些包而已。

(1)创建环境

可以使用 conda 创建环境以隔离项目。要创建环境,请在终端中使用** conda create -n env_name list of packages ** 。在这里,-n env_name 设置环境的名称(-n 是指名称),而 list of packages 是要安装在环境中的包的列表。例如,要创建名为 my_env 的环境并在其中安装 numpy,请键入 conda create -n my_env numpy。

创建环境时,可以指定要安装在环境中的 Python 版本。这在你同时使用 Python 2.x 和 Python 3.x 中的代码时很有用。要创建具有特定 Python 版本的环境,请键入类似于 conda create -n py3 python=3 或 conda create -n py2 python=2 的命令。实际上,我在我的个人计算机上创建了这两个环境。我将它们用作与任何特定项目均无关的通用环境,以处理普通的工作(可轻松使用每个 Python 版本)。这些命令将分别安装 Python 3 和 Python 2 的最新版本。要安装特定版本(例如 Python 3.3),请使用 conda create -n py python=3.3。

使用conda创建环境的优点在于对版本有很好的灵活性,因为环境都是从网上download下来,所以对网络有些要求。不开vpn的话,我的网络无法支持创建成功。

(2)进入环境

创建了环境后,在 OSX/Linux 上使用 source activate my_env 进入环境。在 Windows 上,请使用 activate my_env。

进入环境后,你会在终端提示符中看到环境名称,它类似于 (my_env) ~ $。环境中只安装了几个默认的包,以及你在创建它时安装的包。你可以使用 conda list 检查这一点。在环境中安装包的命令与前面一样:conda install package_name。不过,这次你安装的特定包仅在你进入环境后才可用。要离开环境,请键入 source deactivate(在 OSX/Linux 上)。在 Windows 上,请使用 deactivate。

注意:在win10里的powershell里无法使用activate和deactivate,只能在cmd环境使用activate和deactivate

(3)保存和加载环境

共享环境这项功能确实很有用,它能让其他人安装你的代码中使用的所有包,并确保这些包的版本正确。可以使用 conda env export > environment.yaml 将包保存为 YAML。命令的第一部分 conda env export 用于输出环境中的所有包的名称(包括 Python 版本)。

上图中,你可以看到环境的名称和所有依赖项及其版本。导出命令的第二部分 > environment.yaml 将导出的文本写入到 YAML 文件 environment.yaml 中。现在可以共享此文件,而且其他人能够用于创建和你项目相同的环境。

要通过环境文件创建环境,请使用 conda env create -f environment.yaml。这会创建一个新环境,而且它具有同样的在 environment.yaml 中列出的库。

(4)列出环境

如果忘记了环境的名称(我有时会这样),可以使用 conda env list 列出你创建的所有环境。你会看到环境的列表,而且你当前所在环境的旁边会有一个星号。默认的环境(即当你不在选定环境中时使用的环境)名为 root。

(5)删除环境

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

2.virtualenv

(1) 安装virtualenv

pip install virtualenv

(2) virtualenv创建环境

virtualenv env_name

使用virtualenv创建环境后,自动执行新创建环境下的activate.bat,激活新创建的环境。在新创建的环境下有activate和deactivate批处理程序,分别用于激活环境和关闭环境。

(3) 安装virtualenvwrapper

使用virtualenv创建的环境,在使用时不是很方便,需要使用批处理程序激活。鉴于此,可以结合virtualenvwrapper工具来方便管理环境。

在Linux里安装

sudo pip install virtualenvwrapper

在windows安装

pip install virtualenvwrapper-win

(4) virtualenvwrapper创建环境

mkvirtualenv env_name     //创建环境
workon env_name         //激活环境
deactivate            //关闭环境
rmvirtualenv           //删除环境

常用命令: mkvirtualenv

usage:

mkvirtualenv    [-a project_path] 
                [-i package] 
                [-r requirements_file] 
                [virtualenv options] env_name

workon

workon env_name
    Deactivate any currently activated virtualenv
    and activate the named environment, triggering
    any hooks in the process.

workon == lsvirtualenv
    Print a list of available environments.
    (See also lsvirtualenv -b)

workon (-h|--help)
    Show this help message.

workon (-c|--cd) envname
    After activating the environment, cd to the associated
    project directory if it is set.

workon (-n|--no-cd) envname
    After activating the environment, do not cd to the
    associated project directory.
展开阅读全文
打赏
0
0 收藏
分享
加载中
更多评论
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部