Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/277.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 使用pyenv virtualenv触发不同的应用程序环境_Python_Django_Virtualenv_Virtualenvwrapper_Pyenv - Fatal编程技术网

Python 使用pyenv virtualenv触发不同的应用程序环境

Python 使用pyenv virtualenv触发不同的应用程序环境,python,django,virtualenv,virtualenvwrapper,pyenv,Python,Django,Virtualenv,Virtualenvwrapper,Pyenv,使用VirtualEnvRapper,我可以设置单独的VirtualNV并调用workon venv,让它们链接到特定的设置文件(例如test_settings.py或dev_settings.py),我使用VirtualNV bin中的钩子预设了这些文件-预激活、后激活、预激活和后停用 pyenv是否有等价物?pyenv virtualenv根据当前目录中设置的.python版本自动切换virtualenv,因此无需激活,.pyenv/versions/venv/bin/dir没有virtua

使用VirtualEnvRapper,我可以设置单独的VirtualNV并调用workon venv,让它们链接到特定的设置文件(例如test_settings.py或dev_settings.py),我使用VirtualNV bin中的钩子预设了这些文件-预激活、后激活、预激活和后停用

pyenv是否有等价物?pyenv virtualenv根据当前目录中设置的.python版本自动切换virtualenv,因此无需激活,.pyenv/versions/venv/bin/dir没有virtualwrapper所具有的钩子


我可以很容易地为我的各种应用程序环境创建不同的VirtualNV,但如何将它们链接到不同的环境特定的应用程序设置?

我最终添加了环境变量
export something='something-other'
命令到激活文件
~/.pyenv/versions/my_venv/bin/activate
,这是基于after的精神请在别处阅读。

两个想法:

  • 显而易见的一点是:试试pyenv的
    pyenv virtualenvwrapper
    插件

  • 您可以在
    $pyenv\u ROOT/pyenv.d/
    中为特定的pyenv命令添加挂钩。即使对于pyenv的“陶瓷”命令,您也可以这样做,这些命令通常不会被用户直接调用。您可以为
    activate
    编写一个钩子,根据要切换到的virtualenv的名称更改设置。(切换到virtualenv时,pyenv virtualenv会隐式
    pyenv激活)。注意:我已经创建了pyenv钩子,但不是为
    activate
    ,所以这只是一个想法