在venv / pyvenv中没有activate_this.py文件

时间:2014-07-29 16:33:14

标签: 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。知道我需要做什么吗?

1 个答案:

答案 0 :(得分:14)

如您所述,pyvenv / venv模块未附带activate_this.py。但是,如果您需要此功能,则可以从activate_this.py借用virtualenv,将其放在预期位置(virtualenv_path/bin/activate_this.py),然后使用它。它似乎工作正常。唯一的问题是,{3}的virtualenv文档已过时(他们声称您使用的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等进行抢劫。),但在这种情况下,借款使其变得更加简单。