virtualenv wrapper自定义目录?
我该如何在virtualenv wrapper中设置某个虚拟环境的位置呢?
我希望我现在和大部分未来的项目都能放在
~/.virtualenv
里,但我想让我这个网页项目的虚拟环境放在我的网页项目文件夹里。
谢谢!
2 个回答
0
设置环境变量 WORKON_HOME
。比如:
export WORKON_HOME=$HOME/var/env
你可以在你的 ~/.bashrc
文件中设置这个变量。
详细说明可以在这里找到: http://virtualenvwrapper.readthedocs.org/en/latest/install.html
6
我怕这不太可能。virtualenvwrapper
是一个固定的工具,它在寻找虚拟环境时会遵循 WORKON_HOME
的设置。没有简单的方法可以把某个特定的虚拟环境指向一个特定的位置。我能想到的唯一解决办法就是用 ln -s
命令把你的虚拟环境链接到 WORKON_HOME
,但这可能不是你想要的。
不过,如果你想使用放在任意位置的虚拟环境,你可以直接使用 virtualenv
。当然,这样你会失去一些功能,比如 postactivate
、predeactivate
等等,但替代这些功能并不是不可能。
补充:环境变量的小技巧
有一个小技巧(正如 James Mills 提到的),就是在加载特定的虚拟环境时,临时替换 WORKON_HOME
。只需在你的命令前加上环境变量的覆盖:
$ WORKON_HOME=/where/you/want mkvirtualenv virtualenv_name
这样,虚拟环境就会被创建在 /where/you/want
这个位置。