不确定我是否以正确的方式提出这个问题,但基本上我希望“重新声明”或“恢复”在VirtualEnvWrapper中创建的虚拟环境。
我最初创建了虚拟环境,当我发出workon
命令时,我能够看到它。但是,由于我正在使用文件结构(我希望将所有Python文件移动到名为Python的文件夹中,并将我的Bootstrap文件移动到名为Static的文件夹中),所以不再出现带有workon
命令的环境
我考虑过将bin文件夹等移回顶层会修复它,但似乎并非如此。
答案 0 :(得分:0)
是
现有项目分为两部分:
Virtualenvwrapper增加了第三部分,virtualenvwrapper钩子。这些主要是在项目或virtualenvs生命周期中的某些时间调用的shell函数。它们位于第三个目录中 - 默认情况下,它们被安装到〜/ .virtualenvs(至少在我的Debian系统上是这样)。钩子包括postactivate,我们将在下面编辑,以及其他一些如premkproject,premkvirtualenv等。以下关键字列表为您提供钩子的味道:初始化,前/后,mk / rm,项目/ virtualenv ,激活/停用。 virtualenvwrapper将这些脚本放在$ VIRTUALENVWRAPPER_HOOK_DIR中,默认为$ WORKON_HOME。
virtualenvwrapper假设
这里我假设你所有的virtualenv都在一个地方(在我的情况下,它们都在/ usr / local / virtualenv)。
编辑〜/ .virtualenvs / postactivate
case $env_name in
MYVENV)
cd /home/me/where/my/proj/is
;;
MYOTHERVENV)
cd /home/me/where/my/other/project/is2
;;
esac
链接
for hk in get_env_details initialize postactivate postdeactivate \
postmkproject postmkvirtualenv postrmproject postrmvirtualenv \
preactivate predeactivate premkproject premkvirtualenv \
prermproject prermvirtualenv; do \
ln -s ~/.virtualenvs/$hk /usr/local/pythonenv/$hk; \
done
WORKON_HOME=/usr/local/pythonenv workon MYVENV
当然,如果你所有的virtualenv确实在同一个地方,你可以在你的.profile中定义WORKON_HOME,你不必每次都在命令行上指定它。