使用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

当前回答

对于使用pipenv并希望安装特定版本的用户:

pipenv install --python 3.6

其他回答

virtualenv --python=/usr/bin/python3 <name of env>

为我工作。

除了其他答案,我建议检查您正在执行的virtualenv实例:

which virtualenv

如果这在/usr/local/bin中找到了一些东西,那么有可能(甚至有可能)安装了virtualenv(可能使用easy_tools或pip的实例),而不使用系统的包管理器(在OP的情况下是brew)。这是我的问题。

几年前,当我更无知的时候,我安装了virtualenv,它屏蔽了我的系统包提供的virtualenv。

在移除了这个破旧的虚拟世界之后,我的问题消失了。

我收到了同样的错误消息。tbrisker的解决方案在我的情况下不起作用。相反,这解决了问题:

$ python3 -m venv .env

我尝试了以上所有的方法,但仍然没有奏效。所以作为一个蛮力,我只是重新安装了水蟒,重新安装了虚拟。。。并且成功了。

Amans-MacBook-Pro:~ amanmadan$ pip install virtualenv
You are using pip version 6.1.1, however version 8.1.2 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.
Collecting virtualenv
  Downloading virtualenv-15.0.3-py2.py3-none-any.whl (3.5MB)
    100% |████████████████████████████████| 3.5MB 114kB/s 
Installing collected packages: virtualenv
Successfully installed virtualenv-15.0.3
Amans-MacBook-Pro:python amanmadan$ virtualenv my_env
New python executable in /Users/amanmadan/Documents/HadoopStuff/python/my_env/bin/python
Installing setuptools, pip, wheel...done.
Amans-MacBook-Pro:python amanmadan$ 

在Mac上,我必须执行以下操作才能使其正常工作。

mkvirtualenv --python=/usr/bin/python3 YourEnvNameHere