virtualenv包装器自定义目录?

Kil*_*ail 0 python virtualenv virtualenvwrapper

如何在virtualenv包装器中为某个虚拟环境设置位置?

我为我现有的以及将来的大多数项目仍能参与其中而感到高兴

~/.virtualenv
Run Code Online (Sandbox Code Playgroud)

但是我希望我的Web项目虚拟环境位于我的Web项目文件夹中。

谢谢

ura*_*sjr 5

恐怕不可能。搜索virtualenvs时virtualenvwrapper严格遵循WORKON_HOME。没有干净的方法将特定的virtualenv指向某个位置。我能想到的唯一解决方法是- ln -s将virtualenv放入WORKON_HOME,这可能不是您想要的。

但是,如果要使用放置在任意位置的virtualenv,则只需直接使用virtualenv即可。很明显,你失去像钩子postactivatepredeactivate等等,但它不是不可能取代这些。

编辑:环境变量黑客

但是,一种技巧(如James Mills所述)是WORKON_HOME在加载特定的virtualenv时临时替换。只需在命令(mkvirtualenvworkon等)前面加上环境变量覆盖即可:

$ WORKON_HOME=/where/you/want mkvirtualenv virtualenv_name
Run Code Online (Sandbox Code Playgroud)

并且virtualenv将在中创建/where/you/want