python - venv/pyvenv 中没有 activate_this.py 文件

标签 python virtualenv

<分区>

我需要从 python 脚本中启动 venv/pyvenv,我知道要运行官方文档:

activate_this = '/path/to/env/bin/activate_this.py'
execfile(activate_this, dict(__file__=activate_this))

但是我没有 activate_this.py 文件,而且我在任何地方都找不到如何创建它。

我正在运行 python 3.4.1。知道我需要做什么吗?

最佳答案

如您所述,pyvenv/venv 模块未随 activate_this.py 一起提供。但是如果你需要这个功能,你可以从virtualenv借用activate_this.py,把它放在预期的位置(virtualenv_path/bin/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 - venv/pyvenv 中没有 activate_this.py 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25020451/

相关文章:

python - 如何跨平台使用 pycharm venv(在 linux - windows 等..)?

python - 遇到 OOP 风格的 Blackjack sim 问题 - AttributeError : 'Deck' object has no attribute 'fulldeck'

python - 如果使用 SNMPv1 找不到其中之一,Pysnmp 无法获取多个 oid

python - 在 Python 中使用 Numpy 或 Pandas 查找整数可以驻留的最接近的边界值对

python - 在 Virtualenv 之外访问 Celery 实例

ubuntu - Pyenv:没有这样的命令 `version-name'

python - 如何解决 conda 中不一致的包警告?

python - 在 pytorch 中获取较小的 MNIST 数据集

python - 提取numpy数组类型的pandas数组的元素

python - SQLAlchemy 和 VirtualEnv 的问题