如何在virtualenv包装器中设置某个虚拟环境的位置?
我很高兴我现有的和未来的大多数项目仍然在
之内~/.virtualenv
但我希望我的Web项目虚拟环境位于我的Web项目文件夹中。
由于
答案 0 :(得分:4)
我担心那是不可能的。搜索virtualenvs时virtualenvwrapper
为hard-coded to follow WORKON_HOME
。没有干净的方法将特定的虚拟现实指向某个位置。我能想到的唯一解决方法是ln -s
- 将你的virtualenv变成WORKON_HOME
,这可能不是你想要的。
但是如果你想使用置于任意位置的virtualenv,你可以直接使用virtualenv
。显然你丢失了postactivate
,predeactivate
等钩子,但是替换它们并非不可能。
然而,一个hack(正如James Mills所提到的)是在加载某个virtualenv时暂时替换WORKON_HOME
。只需在命令(mkvirtualenv
,workon
等)前加上环境变量覆盖:
$ WORKON_HOME=/where/you/want mkvirtualenv virtualenv_name
virtualenv将在/where/you/want
中创建。
答案 1 :(得分:0)
设置env var WORKON_HOME
。 e.g:
export WORKON_HOME=$HOME/var/env
您可以在~/.bashrc
。
此处记录了这些内容:http://virtualenvwrapper.readthedocs.org/en/latest/install.html