2015-09-30 1 views
5

J'essaye d'utiliser le virtualenvwrapper pour faire un python 3 basé virtualenv. Cependant, je suis quand je passe l'argument d'interprète facultatif, je vois cette erreur. Je cours Ubuntu 15.04. J'ai essayé de réinstaller virtualenv et virtualenvwrapper sans succès. Merci pour votre aide!Passant Python3 à virtualenvwrapper jette ImportError

$ mkvirtualenv scriptcutter --python=/usr/bin/python3 
Running virtualenv with interpreter /usr/bin/python3 
Traceback (most recent call last): 
    File "/usr/local/lib/python2.7/dist-packages/virtualenv.py", line 8, in <module> 
    import base64 
    File "/usr/lib/python3.4/base64.py", line 9, in <module> 
    import re 
    File "/usr/lib/python3.4/re.py", line 336, in <module> 
    import copyreg 
    File "/usr/local/lib/python2.7/dist-packages/copyreg/__init__.py", line 7, in <module> 
    raise ImportError('This package should not be accessible on Python 3. ' 
ImportError: This package should not be accessible on Python 3. Either you are trying to run from the python-future src folder or your installation of python-future is corrupted. 
Error in sys.excepthook: 
Traceback (most recent call last): 
    File "/usr/lib/python3/dist-packages/apport_python_hook.py", line 53, in apport_excepthook 
    if not enabled(): 
    File "/usr/lib/python3/dist-packages/apport_python_hook.py", line 24, in enabled 
    import re 
    File "/usr/lib/python3.4/re.py", line 336, in <module> 
    import copyreg 
    File "/usr/local/lib/python2.7/dist-packages/copyreg/__init__.py", line 7, in <module> 
    raise ImportError('This package should not be accessible on Python 3. ' 
ImportError: This package should not be accessible on Python 3. Either you are trying to run from the python-future src folder or your installation of python-future is corrupted. 

Original exception was: 
Traceback (most recent call last): 
    File "/usr/local/lib/python2.7/dist-packages/virtualenv.py", line 8, in <module> 
    import base64 
    File "/usr/lib/python3.4/base64.py", line 9, in <module> 
    import re 
    File "/usr/lib/python3.4/re.py", line 336, in <module> 
    import copyreg 
    File "/usr/local/lib/python2.7/dist-packages/copyreg/__init__.py", line 7, in <module> 
    raise ImportError('This package should not be accessible on Python 3. ' 
ImportError: This package should not be accessible on Python 3. Either you are trying to run from the python-future src folder or your installation of python-future is corrupted. 
+1

Cela semble être un bug, voir par ex. https://github.com/PythonCharmers/python-future/issues/148 (pro-tip: recherchez vos messages d'erreur). – jonrsharpe

+0

Merci pour le commentaire @jonrsharpe Très apprécié. Cela n'est pas apparu dans ma recherche, ce qui m'a incité à l'afficher ici. Donc, je suppose que je vais devoir utiliser pyvenv pour le moment. – manu

+0

Avez-vous trouvé une solution? –

Répondre

2

Ceci est en quelque sorte une solution de contournement pour l'instant.

Créez un virtualenv en utilisant pyvenv.

# install pyvenv on Ubuntu 
sudo apt-get install python3-venv 

Pour minimiser les perturbations dans votre flux de travail normale, passer un répertoire de destination qui est le même que celui utilisé par virtualenvwrapper Comme tel,

pyvenv example ~/.virtualenvs/example

Cela fonctionne automatiquement avec workon et cdproject commandes . Je n'utilise pas beaucoup d'autre qui est fourni par virtualenvwrapper

Espérons que cela aide.

+0

'pyvenv ~/.virtualenvs/example' est suffisant. Alors 'workon example' fonctionne. – user3148949

5

Je rencontre le même problème, mais après avoir rétrogradé virtualenv en 12.0.2, ce problème disparaît.

+0

Cela fonctionne comme un charme! –

+0

Une autre alternative saignante est: ** pip install --upgrade [https://github.com/pypa/virtualenv/archive/develop.zip](https://github.com/pypa/virtualenv/archive/develop. zip) **, s'il vous plaît voir https://github.com/pypa/virtualenv/issues/812 comme référence. –

1

Vous pouvez mettre à niveau vers la version la plus récente de virtualenv, avec:

sudo pip install --upgrade https://github.com/pypa/virtualenv/archive/master.zip 
virtualenv --version 
# Returns 15.2.0.dev0 when I ran it 

La commande suivante fonctionne alors:

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

Apparemment, a été abandonné la branche développement, de sorte que l'URL avec " développer "ne fonctionnera plus. Ma réponse était basée sur le commentaire de @ pjotr_dolphin, avec l'URL mise à jour.

+1

Celui-ci a fonctionné pour moi en décembre 2017, mais je n'ai pas eu besoin d'utiliser l'URL. –