使用virtualenv,我使用默认版本的Python(2.7)运行我的项目。在一个项目中,我需要使用Python 3.4。
我曾经brew install python3在我的Mac上安装它。现在,我如何创建一个使用新版本的virtualenv?
比如sudo virtualenv envPython3
如果我尝试:
virtualenv -p python3 test
我得到:
Running virtualenv with interpreter /usr/local/bin/python3
Using base prefix '/usr/local/Cellar/python3/3.4.0_1/Frameworks/Python.framework/Versions/3.4'
New python executable in test/bin/python3.4
Also creating executable in test/bin/python
Failed to import the site module
Traceback (most recent call last):
File "/Users/user/Documents/workspace/test/test/bin/../lib/python3.4/site.py", line 67, in <module>
import os
File "/Users/user/Documents/workspace/test/test/bin/../lib/python3.4/os.py", line 634, in <module>
from _collections_abc import MutableMapping
ImportError: No module named '_collections_abc'
ERROR: The executable test/bin/python3.4 is not functioning
ERROR: It thinks sys.prefix is '/Users/user/Documents/workspace/test' (should be '/Users/user/Documents/workspace/test/test')
ERROR: virtualenv is not compatible with this system or executable
Python 3有一个内置的虚拟环境支持 - venv。相反,使用它可能会更好。参考文档:
通过执行pyvenv脚本完成虚拟环境的创建:
pyvenv /path/to/new/virtual/environment
Python 3.6及更新版本的更新:
从Python 3.6开始pyvenv已经被弃用了,新的方法是:
python3 -m venv /path/to/new/virtual/environment
简单地运行
virtualenv -p python3 envname
重新编辑后更新:
有没有在OP的版本virtualenv中的一个bug,如所描述这里。问题是通过运行修复的:
pip install --upgrade virtualenv