使用pyenv-virtualenv

时间:2015-05-27 08:31:07

标签: python django virtualenv virtualenvwrapper pyenv

使用virtualenvwrapper,我可以设置单独的virtualenvs并调用workon venv 将它们链接到特定的设置文件(例如test_settings.py或dev_settings.py)我使用virtualenv的bin中的钩子进行预设 - preactivate ,postactivate,predeactivate和postdeactivate。

是否有类似pyenv的东西? pyenv-virtualenv基于当前目录中设置的.python-version自动切换virtualenvs,因此无需激活,而且.pyenv / versions / venv / bin / dir也没有虚拟包装器所具有的钩子的赞美。 / p>

我可以轻松地为各种应用环境创建不同的virtualenv,但是如何将它们链接到不同的特定于环境的应用设置?

2 个答案:

答案 0 :(得分:1)

在其他地方阅读autoenv之后,我最终以forum reply的精神向激活文件export something='something-else'添加了环境变量~/.pyenv/versions/my_venv/bin/activate命令。

答案 1 :(得分:0)

两个想法:

  • 显而易见的一个:尝试使用pyenv-virtualenvwrapper插件来进行pyenv?

  • 您可以在$PYENV_ROOT/pyenv.d/<command>中为特定的pyenv命令添加挂钩。您甚至可以为pyenv的“瓷器”命令执行此操作,这些命令通常不会由用户直接调用。您可以为activate编写一个挂钩,根据您要切换到的virtualenv的名称更改设置。 (切换到virtualenv时,pyenv-virtualenv隐式pyenv activate)。注意:我已经创建了pyenv钩子,但不是activate,所以这只是一个想法......