OpenUserX03
OpenUserX03

Reputation: 1458

Python 3 virtualenv problems

I'm having a problem similar to this post, but I am already running the latest version of virtualenv and I also get a different ImportError.

Using virtualenv with version 2.7 (default) works fine but I need to use python3 for another project. I installed it using brew install python3 in OSX 10.10.2.

When I try:

> pip install --upgrade virtualenv
Requirement already up-to-date: virtualenv in /Library/Python/2.7/site-packages
Cleaning up...

> virtualenv --version
12.0.7

> virtualenv -p python3 test

I still get:

Running virtualenv with interpreter /usr/local/bin/python3
Using base prefix '/usr/local/Cellar/python3/3.4.3/Frameworks/Python.framework/Versions/3.4'
New python executable in venv/bin/python3.4
Also creating executable in venv/bin/python
Failed to import the site module
Traceback (most recent call last):
  File "/System/Library/Frameworks/Python.framework/Versions/2.6/Extras/lib/python/site.py", line 73, in <module>
    __boot()
  File "/System/Library/Frameworks/Python.framework/Versions/2.6/Extras/lib/python/site.py", line 2, in __boot
    import sys, imp, os, os.path   
  File "/Users/user/Desktop/project/studyprocessor/venv/bin/../lib/python3.4/imp.py", line 22, in <module>
    from importlib import util
  File "/Users/user/Desktop/project/studyprocessor/venv/bin/../lib/python3.4/importlib/util.py", line 12, in <module>
    from contextlib import contextmanager
ImportError: No module named 'contextlib'
ERROR: The executable venv/bin/python3.4 is not functioning
ERROR: It thinks sys.prefix is '/Users/user/Desktop/project/studyprocessor' (should be '/Users/user/Desktop/project/studyprocessor/venv')
ERROR: virtualenv is not compatible with this system or executable

Any ideas?

Upvotes: 2

Views: 10461

Answers (2)

Dadaso Zanzane
Dadaso Zanzane

Reputation: 6259

try following

virtualenv --no-site-packages --distribute -p /usr/bin/python3 ~/.virtualenvs/py3

workon py3

Upvotes: 0

thefourtheye
thefourtheye

Reputation: 239683

The pip program what you are using corresponds to the Python 2.7 version. You need to use the pip which corresponds to Python 3.x. So, you should be using

pip3 install virtualenv

Alternatively, you can create virtual environments in Python 3.3+ with the venv module, like this

python3 -m venv test

Upvotes: 4

Related Questions