python虚拟环境¶
为什么要使用python虚拟环境?¶
python的软件通常会依赖于其他的第三方python包,而且很多情况下,不同的软件有不同的依赖需求。 如果sagar以全局的方式安装,则它可能会升级或者降级已有的第三方python库,这将可能导致其他的软件不可用。 相对的,如果在安装了sagar之后又安装了其他的python库或软件,可能打破现有的依赖,这就可能导致sagar不可用。
因此,我们 强烈 建议对几种合作使用的软件进行环境独立,以避免软件的不可用。
什么是python虚拟环境?¶
一个特定python的虚拟环境就是一个包含有环境独立的所有python软件和库的文件夹,文件夹内包含了下列内容:
- python 可执行文件(executable)
- python 标准包(standard packages)
- python包管理软件 如
pip
- 一个激活和设置环境变量参数的脚本,用来设置
PYTHONPATH
和PATH
变量
激活环境的脚本确保了新创建的,指定环境文件夹下的python可执行文件在 PATH
环境变量的开头,以及所有python的软件包都在虚拟环境的文件夹中。
这就使得可以通过建立多个文件夹来独立python的使用环境。
并且,虚拟环境所依赖的文件夹可以在用户的目录下,这就使得用户创建虚拟环境和安装软件时无须去的管理员权限。
创建一个虚拟环境¶
有多种方式可以用来创建python虚拟环境,在这里,我们选用 virtualenv
,通过下列命令安装:
$ pip install --user -U virtualenv
一个特定python的虚拟环境就是一个包含有环境独立的所有python软件和库的文件夹。 因此,理论上一个虚拟环境可以创建在任何一个你可以创建文件夹的地方。 比如,你可以在你的家目录下创建管理虚拟环境的文件夹:
$ mkdir ~/.virtualenvs
使用 virtualenv
命令,你可以创建一个使用python 2.7的环境:
$ virtualenv --python=<path/to/python2.7> ~/.virtualenvs/my_env
这将创建一个名为 my_env
的环境并且自动加载它。
如果你打开一个新的命令行窗口,或者你已经 deactivate
该独立虚拟环境,你可以通过下列命令重新激活(reactivate)该环境:
$ ~/.virtualenvs/my_env/bin/activate
如果环境激活成功,你将看到命令行提示符出现如下变更,在提示符的开头出现环境的名称:
(my_env) $
要退出或deactivate当前虚拟环境,或将所有设置退回默认,你只需要运行:
(my_env) $ deactivate