对Virtualenv的认识

Virtualenv有一个基本的命令:

virtualenv ENV

这个命令创建了一个ENV目录,用来存放新的虚拟环境。同时,ENV/lib/和ENV/include/目录被创建,它们包括了新的virtualenv python的库文件。这个环境中的包放在ENV/lib/pythonX.X/site-packages/目录中。

ENV/bin也被创建,可执行文件就在这个目录中。关键的pip和setuptools包也安装了,它们可以很容易地安装其他包到环境中,pip可以从ENV/bin/pip运行。

activate脚本

在一个新创建的virtualenv中,有一个activate shell脚本。对于Posix系统来说,它在/ENV/bin/目录中。运行的命令是:

source bin/activate

必须要使用source命令,因为它会改变你的shell环境。

deactivate命令的用法是:

deactivate

移除一个环境

移除一个虚拟环境很简单,首先deactivate,再删除环境目录就行了。命令是:

(ENV)$ deactivate
$ rm -r /path/to/ENV

–system-site-packages选项

如果使用命令:

virtualenv --system-site-packages ENV

虚拟环境将会从/usr/lib/python2.7/site-packages(或者全局site-packages目录所在的地方)继承包。

如果你控制了全局的site-packages命令,并且你想要依赖于哪里的包,可以使用它。如果你想和全局系统分离,不要使用这个选项。

使用没有bin/python的Virtualenv

有时你不想使用由virtualenv创建的python解释器。例如,在一个mod_python或者mod_wsgi环境中,仅仅有一个解释器。

你必须使用定制的python解释器去安装库。但是使用库的话,你必须确保路径是正确的。一个脚本可以更改路径。你可以设置环境如下所示:

activate_this='/path/to/env/bin/activate_this.py'
execfile(activate_this,dict(__file__=activate_this))

这会改变sys.path和sys.prefix,但是也运行你使用一个已经存在的解释器。

–extra-search-dir选项

这个选项允许你提供你自己的pip和setuptools版本,而不是使用virtualenv自带的版本。

要使用这个选项,提供一个或多个–extra-search-dir选项,如下所示:

virtualenv --extra-search-dir=/path/to/distributions ENV

/path/to/distributions路径应该指向一个包含setuptools和pip的目录。

以上就是我对于Virtualenv的认识。

你可能感兴趣的:(python,linux)