如何指定虚拟环境的位置?

4

当我使用virtualenvwrapper创建新的虚拟环境时:

mkvirtualenv ENV

然后包含site-packages和其他内容的目录将被创建在以下位置:

~/.virtualenv/ENV

现在,如果我的主目录通过nfs在多台机器上共享,那么它将被覆盖。有没有办法指定新的ENV应该存在哪里?


我有点困惑,这是哪个版本的virtualenv?默认情况下,virtualenv ENV 会在当前目录中创建 ENV 目录(如果没有给出绝对路径)。如果你安装了 virtualenvwrapper,它的 mkvirtualenv 命令将会在 ~/.virtualenv 下创建虚拟环境,但这是不同的。 - Iguananaut
是的,我正在使用mkvirtualenv命令。 - mnowotka
你可能需要澄清一下,因为mkvirtualenvvirtualenv命令的包装器,并且有一些不同的操作。 - Iguananaut
您在标签中提到了virtualenvwrapper,但问题中并没有提到。 - rafee
1
@rafee - 已完成,抱歉耽搁和造成的困惑。 - mnowotka
2个回答

4
使用virtualenvwrapper,您可以使用WORKON_HOME环境变量指定存储envs的位置。如果您只想在不同的位置创建特定的虚拟环境,则可以运行以下命令:
WORKON_HOME=/path/to/envs mkvirtualenv ENVNAME

但是您需要知道,除非您先设置备用的WORKON_HOME,否则其他virtualenvwrapper命令都无法使用该环境。我也不喜欢直接将任何virtualenv保存在我的主目录中,因为其中一些可能会非常大,所以我只需在我的登录脚本中将export WORKON_HOME设置为备用目录即可。


2
您可以更改WORKON_HOME环境变量,该变量控制新虚拟环境的创建位置。例如:
export WORKON_HOME=~/tmp/vetest
mkvirtualenv cltest
ls ~/tmp/vetest/cltest
>>> bin  include  lib  local

请点击这里查看相关文档。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接