当我使用 virtualenvwrapper 创建新的 virtualenv 时:
mkvirtualenv ENV
然后在以下目录下创建包含site-packages
和内容的目录:
~/.virtualenv/ENV
现在,如果我的主目录在多台机器之间共享(通过 nfs),它将被覆盖。有什么方法可以指定新的 ENV 应该存在吗?
当我使用 virtualenvwrapper 创建新的 virtualenv 时:
mkvirtualenv ENV
然后在以下目录下创建包含site-packages
和内容的目录:
~/.virtualenv/ENV
现在,如果我的主目录在多台机器之间共享(通过 nfs),它将被覆盖。有什么方法可以指定新的 ENV 应该存在吗?
使用 virtualenvwrapper,您可以使用WORKON_HOME
环境变量指定存储环境的位置。如果您只想在不同的位置创建一个特定的 virtualenv,您可以运行:
WORKON_HOME=/path/to/envs mkvirtualenv ENVNAME
但是您应该知道,除非您还先设置了备用,否则其他任何 virtualenvwrapper 命令都不会与该环境一起使用WORKON_HOME
。我也不喜欢将任何虚拟环境直接保存在我的主目录中,因为其中一些可能非常大,所以我只是export WORKON_HOME
在我的登录脚本中设置了一个备用目录。
您可以更改WORKON_HOME
环境变量,该变量控制创建新虚拟环境的位置。例如
export WORKON_HOME=~/tmp/vetest
mkvirtualenv cltest
ls ~/tmp/vetest/cltest
>>> bin include lib local
请参阅此处的文档。