为什么需要设置WORKON_HOME环境变量?

时间:2012-12-09 13:01:11

标签: python virtualenv

我暂时没有使用我的python /虚拟环境,但我也安装了virtualenvironment包装器。

我的问题是,在文档页面中它说要执行此操作:

export WORKON_HOME=~/Envs
$ mkdir -p $WORKON_HOME
$ source /usr/local/bin/virtualenvwrapper.sh
$ mkvirtualenv env1

我只是在我的提示下这样做:

source /usr/local/bin/virutalenvwrapper.sh

现在我可以通过以下方式列出并选择一个环境:

>workon

>workon envtest1

我的问题是,既然这对我有用,我很困惑为什么我应该创建一个环境变量WORKON_HOME并将其指向〜/ Envs文件夹?那怎么做以及我的工作怎么样呢?我也没有/ Envs文件夹(我知道脚本会创建它)。

参考:http://virtualenvwrapper.readthedocs.org/en/latest/

2 个答案:

答案 0 :(得分:8)

如果未设置WORKON_HOME,您的默认virtualenv文件夹将设置为~/.virtualenvs
(见virtualenvwrapper.sh l.118

您还将使用WORKON_HOME指定pip使用哪个文件夹(export PIP_VIRTUALENV_BASE=$WORKON_HOME

来源:virtualenvwrapper.readthedocs.org : Tying to pip’s virtualenv support

答案 1 :(得分:2)

  

我很困惑为什么要创建一个环境变量   WORKON_HOME并将其指向〜/ Envs文件夹?

它是可选的。你感到很困惑(就像我一样),因为文档令人困惑。

  

这样做怎么做以及我的工作如何正常呢?

告诉virtualenvwrapper要搜索Python环境的文件夹。命令workon会搜索路径WORKON_HOME(如果已定义),或~/.virtualenvs(如果不是),这就是默认情况下的原因。

如果您希望WORKON_HOME可以使用不同的环境,则用于定义不同virtualenvwrapper目录的用例。例如,如果将虚拟环境备份保存到其他文件夹,或者有多个用户想要维护自己的环境。