这个问题在这里已有答案:
11695
2017-07-29 16:33
起源
对于读这篇文章的人我使用pyvenv,我想它还不是3.4版本的一部分。 - clifgray
你以某种方式解决了这个问题吗?如果是这样,我真的很感激这里的答案: 如何从python激活pyvenv vitrualenv? (activate_this.py已被删除?) - Chris Cooper
答案:
如你所知, pyvenv
/对 venv
模块不附带 activate_this.py
。但如果你需要这个功能,你可以借用 activate_this.py
从 virtualenv
,把它放在预期的位置(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
(调整 PATH
, sys.path
, sys.prefix
等等,但借用使这种情况更简单。
9
2017-11-10 18:55
当我读到这个答案时,我真的吐了我的饮料:)。但它完全有效!如果这就是它的全部,为什么不只是python venv的一部分? - nackjicholson