我需要从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。知道我需要做什么吗?
答案 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
(调整PATH
,sys.path
,sys.prefix
等进行抢劫。),但在这种情况下,借款使其变得更加简单。