我需要从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。你知道我需要做什么吗?
发布于 2015-11-11 02:55:14
正如您已经注意到的,pyvenv/the venv模块不随activate_this.py一起提供。但如果您需要此功能,您可以从virtualenv借用activate_this.py,将其放在预期的位置(virtualenv_path/bin/activate_this.py),然后使用它。它似乎工作得很好。唯一的问题是Python3的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等),但在这种情况下,借用会使其变得简单得多。
https://stackoverflow.com/questions/25020451
复制相似问题