gpt4 book ai didi

python-3.x - 如何从 python 中激活 pyvenv vitrualenv? (activate_this.py 被删除了?)

转载 作者:行者123 更新时间:2023-12-03 08:25:33 24 4
gpt4 key购买 nike

我正在使用 Python 3.4,并创建了一个 pyvenv,我希望从 python 进程中激活它。使用 virtualenv,我曾经使用 activate_this.py ,但这似乎在 pyvenv 中消失了。

现在有没有一种简单的方法可以有效地将当前解释器更改为 virtualenv 解释器?我可能会弄乱 PATH(这是 activate_this.py 所做的),但我想要一种更简单、更稳定的方式。

这是在 wsgi.py 中使用的。

最佳答案

pyvenvvenv模块不支持这个开箱即用。第三方virtualenvdoes support this using activate_this.py , 但是 that feature was not included in the built-in venv module .

你可以试试借activate_this.py来自 virtualenv基于环境;它似乎工作,虽然我不能发誓它会是完美的(venv/pyvenv 在启动过程中使用了一些魔法;不清楚是否所有这些都是通过 activate_this.py 复制的)。
virtualenv它的文档对于 Python 3 来说已经过时了(他们声称你使用了 execfile ,它不存在)。 Python 3 兼容的替代方案是:

activator = 'some/path/to/activate_this.py'  # Looted from virtualenv; should not require modification, since it's defined relatively
with open(activator) as f:
exec(f.read(), {'__file__': activator})

没有 activate_this.py确实很神奇,因此您可以手动执行相同的更改而无需从 virtualenv 中掠夺(调整 PATHsys.pathsys.prefix 等),但在这种情况下借用会更简单。

关于python-3.x - 如何从 python 中激活 pyvenv vitrualenv? (activate_this.py 被删除了?),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27462582/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com