【问题标题】:triggering different app environments with pyenv-virtualenv使用 pyenv-virtualenv 触发不同的应用环境
【发布时间】:2015-08-09 05:21:04
【问题描述】:

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

pyenv 有什么等价的吗? pyenv-virtualenv 会根据当前目录中设置的 .python-version 自动切换 virtualenvs,因此无需激活,并且 .pyenv/versions/venv/bin/ 目录没有 virtualwrapper 所具有的钩子。

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

【问题讨论】:

    标签: python django virtualenv virtualenvwrapper pyenv


    【解决方案1】:

    两个想法:

    • 显而易见的一个:尝试 pyenv 的 pyenv-virtualenvwrapper 插件?

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

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-11-27
        • 2018-01-16
        • 2021-10-01
        • 2020-05-29
        • 2021-10-20
        • 2016-05-27
        相关资源
        最近更新 更多