Virtualenv: [Mac] Essayer de créer un environnement virtuel python mais obtenir OSError

Créé le 25 août 2015  ·  22Commentaires  ·  Source: pypa/virtualenv

Mac OS X : 10.9.5
pip 7.1.2
environnement virtuel 13.1.2
Python : Python 2.7.10 :: Anaconda 2.3.0 (x86_64)

Shuais-MacBook-Pro:Google Drive shuaiwang$ virtualenv ENV
Nouvel exécutable python dans ENV/bin/python
Installation des setuptools, pip, wheel...
Sortie complète de la commande "/Users/shuaiwang/Google Drive/ENV/bin/python" -c "import sys, pip; sys...d\"] + sys.argv[1:]))" setuptools pip wheel :
Traceback (dernier appel le plus récent) :
Fichier "", ligne 1, dans
Fichier "/Users/shuaiwang/anaconda/lib/python2.7/site-packages/virtualenv_support/pip-7.1.2-py2.py3-none-any.whl/pip/ init .py", ligne 13, dans
Fichier "/Users/shuaiwang/anaconda/lib/python2.7/site-packages/virtualenv_support/pip-7.1.2-py2.py3-none-any.whl/pip/utils/ init .py", ligne 15, dans
Fichier "/Users/shuaiwang/anaconda/lib/python2.7/zipfile.py", ligne 6, dans
importer io
Fichier "/Users/shuaiwang/anaconda/lib/python2.7/io.py", ligne 51, dans
importer _io
ImportError : dlopen(/Users/shuaiwang/Google Drive/ENV/lib/python2.7/lib-dynload/_io.so, 2) : symbole introuvable : __PyErr_ReplaceException
Référencé depuis : /Users/shuaiwang/Google Drive/ENV/lib/python2.7/lib-dynload/_io.so
Attendu dans : recherche dynamique


...Installation des outils de configuration, pip, roue... c'est fait.
Traceback (dernier appel le plus récent) :
Fichier "/Users/shuaiwang/anaconda/bin/virtualenv", ligne 11, dans
sys.exit(main())
Fichier "/Users/shuaiwang/anaconda/lib/python2.7/site-packages/virtualenv.py", ligne 832, dans main
lien symbolique=options.lien symbolique)
Fichier "/Users/shuaiwang/anaconda/lib/python2.7/site-packages/virtualenv.py", ligne 1004, dans create_environment
install_wheel(to_install, py_executable, search_dirs)
Fichier "/Users/shuaiwang/anaconda/lib/python2.7/site-packages/virtualenv.py", ligne 969, dans install_wheel
'PIP_NO_INDEX' : '1'
Fichier "/Users/shuaiwang/anaconda/lib/python2.7/site-packages/virtualenv.py", ligne 910, dans call_subprocess
% (cmd_desc, proc.code de retour))
OSError : la commande "/Users/shuaiwang/Google Drive/ENV/bin/python" -c "import sys, pip; sys...d\"] + sys.argv[1:]))" setuptools pip wheel a échoué avec code d'erreur 1

Commentaire le plus utile

J'ai eu un problème similaire avec conda et virtualenv. J'ai pu installer et activer avec succès un env avec la commande suivante :
conda install -c anaconda virtualenv=15.1.0

Tous les 22 commentaires

J'ai exactement la même erreur et j'utilise une configuration très similaire:

  • Mac 10.10.3
  • pip 7.1.2
  • environnement virtuel 13.0.1
  • Python 2.7.10 :: Anaconda 2.2.0 (x86_64)

Ceci est un doublon possible de https://github.com/pypa/virtualenv/issues/788

@grisaitis #788 est un doublon de #788 ? :RÉ

Et oui, pour le moment, cela ressemble à un problème de conda python.

Oups! Désolé, je voulais dire que cela pourrait être un doublon de ceci : https://github.com/pypa/virtualenv/issues/741

Et cela est "corrigé" en rétrogradant vers Python 2.7.9, au cas où vous ne l'auriez pas vu dans https://github.com/conda/conda/issues/1367

En fait, ce n'est pas corrigé (et je suis conscient qu'il s'agit probablement d'un co-problème condo/virtualenv).

J'ai les mêmes problèmes avec Python 2.7.11 et Python 3.5.1 et conda 3.18.9 (et pip 7.1.2).
Avec Python 3.5.1, la création de l'environnement virtuel échoue avec "virtualenv" et "pyvenv" (avec une erreur légèrement différente).

@jenisys s'il vous plaît pourriez-vous coller l'erreur réelle?

Avec un environnement conda basé sur python 2.7.11 et virtualenv 13.0.1, j'obtiens l'erreur similaire décrite ci-dessus (mais un autre symbole CPython est maintenant manquant);

# -- CASE: Using conda environment "py27" with python 2.7.11
# INSTALLED: virtualenv 13.0.1, pip 7.1.2, wheel 0.26.0
$ virtualenv xxx
New python executable in xxx/bin/python
Installing setuptools, pip, wheel...
  Complete output from command /Users/alice/tmp/venv/xxx/bin/python -c "import sys, pip; sys...d\"] + sys.argv[1:]))" setuptools pip wheel:
  Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "/Users/alice/conda/envs/py27/lib/python2.7/site-packages/virtualenv_support/pip-7.0.1-py2.py3-none-any.whl/pip/__init__.py", line 13, in <module>
  File "/Users/alice/conda/envs/py27/lib/python2.7/site-packages/virtualenv_support/pip-7.0.1-py2.py3-none-any.whl/pip/utils/__init__.py", line 15, in <module>
  File "/Users/alice/conda/envs/py27/lib/python2.7/zipfile.py", line 6, in <module>
    import io
  File "/Users/alice/conda/envs/py27/lib/python2.7/io.py", line 51, in <module>
    import _io
ImportError: dlopen(/Users/alice/tmp/venv/xxx/lib/python2.7/lib-dynload/_io.so, 2): Symbol not found: __PyCodecInfo_GetIncrementalDecoder
  Referenced from: /Users/alice/tmp/venv/xxx/lib/python2.7/lib-dynload/_io.so
  Expected in: dynamic lookup

----------------------------------------
...Installing setuptools, pip, wheel...done.
Traceback (most recent call last):
  File "/Users/alice/conda/envs/py27/bin/virtualenv", line 6, in <module>
    sys.exit(main())
  File "/Users/alice/conda/envs/py27/lib/python2.7/site-packages/virtualenv.py", line 832, in main
    symlink=options.symlink)
  File "/Users/alice/conda/envs/py27/lib/python2.7/site-packages/virtualenv.py", line 1004, in create_environment
    install_wheel(to_install, py_executable, search_dirs)
  File "/Users/alice/conda/envs/py27/lib/python2.7/site-packages/virtualenv.py", line 969, in install_wheel
    'PIP_NO_INDEX': '1'
  File "/Users/alice/conda/envs/py27/lib/python2.7/site-packages/virtualenv.py", line 910, in call_subprocess
    % (cmd_desc, proc.returncode))
OSError: Command /Users/alice/tmp/venv/xxx/bin/python -c "import sys, pip; sys...d\"] + sys.argv[1:]))" setuptools pip wheel failed with error code 1

Avec un environnement conda avec python 3.5.1, l'erreur est légèrement différente :

# -- CASE: Using conda environment "py35" with python 3.5.1
# INSTALLED: virtualenv 13.1.2, pip 7.1.2, wheel 0.26.0
$ virtualenv --verbose xxx2
Using base prefix '/Users/alice/conda/envs/py35'
Creating xxx2/lib/python3.5
Symlinking Python bootstrap modules
  Symlinking xxx2/lib/python3.5/config-3.5m
  Symlinking xxx2/lib/python3.5/lib-dynload
  Symlinking xxx2/lib/python3.5/plat-darwin
  Symlinking xxx2/lib/python3.5/os.py
  ...
  Symlinking xxx2/lib/python3.5/_bootlocale.py
Creating xxx2/lib/python3.5/site-packages
Writing xxx2/lib/python3.5/site.py
Writing xxx2/lib/python3.5/orig-prefix.txt
Writing xxx2/lib/python3.5/no-global-site-packages.txt
Creating parent directories for xxx2/include
Symlinking xxx2/include/python3.5m
Creating xxx2/bin
New python executable in xxx2/bin/python3
Changed mode of xxx2/bin/python3 to 0o755
Also creating executable in xxx2/bin/python
Changed mode of xxx2/bin/python to 0o755
Testing executable with xxx2/bin/python3 -c "import sys;out=sys.stdout;getattr(out, "buffer", out).write(sys.prefix.encode("utf-8"))"
ERROR: The executable xxx2/bin/python3 is not functioning
ERROR: It thinks sys.prefix is '/Users/alice/tmp/venv' (should be '/Users/alice/tmp/venv/xxx2')
ERROR: virtualenv is not compatible with this system or executable

Lorsque j'utilise pyvenv dans l'environnement conda (comme prévu avec Python 3.x), j'obtiens une autre erreur liée au module "ensure pip" manquant (problème interne conda, je suppose).

J'ai le même problème ici, quelqu'un peut-il m'indiquer la solution à ce problème? Puisqu'il est fermé, doit être résolu, n'est-ce pas ?

@icrtiou Il est fermé ici car il s'agit d'un problème de conda (le numéro de problème est indiqué ci-dessus). Il ne semble pas que ce soit encore corrigé, mais vous devriez consulter le ticket conda pour plus d'informations.

J'ai rencontré une erreur similaire (sans utiliser anaconda, python installé à l'aide de brew install) lorsque j'essayais de recréer un env sans d'abord supprimer l'env précédent.

après rm -rf de l'ancien chemin env, l'erreur a été résolue ...

J'ai eu un problème similaire avec conda et virtualenv. J'ai pu installer et activer avec succès un env avec la commande suivante :
conda install -c anaconda virtualenv=15.1.0

Merci!! Cela a fonctionné pour moi.

ma solution est de changer le python par défaut et le pip en /user/bin/python au lieu de la version conda
REMARQUE: après la première erreur de conda, le dossier virtualenvs est déjà créé et stocké le chemin et la configuration de conda, vous devez donc supprimer ce dossier avant de créer un nouveau dossier virtualenvs

rm -rf .virtualenvs/ # supprimer
source virtualenvwrapper.sh # créer de nouveaux virtualenvs

La solution proposée par @RubenDuran a fonctionné pour moi.

Je n'utilisais pas anaconda et je me heurtais à cela. J'essaie juste d'utiliser pyenv et virtualenvwrapper. Je jure que cela avait fonctionné auparavant, mais je l'exécutais pour créer un nouveau virtualenv:

pyenv shell 3.6.3
mkvirtualenv my_new_env

Cela donnerait une trace de pile similaire à celles ci-dessus. Pour résoudre ce problème, j'ai installé pyenv-virtualenvwrapper . Ensuite, voici comment je l'ai fait fonctionner:

pyenv shell 3.6.3
pyenv virtualenvwrapper
mkvirtualenv my_new_env

Je ne suis pas tout à fait sûr de ce qui s'est passé, mais cela fonctionne et j'ai pensé que je partagerais au cas où quelqu'un d'autre rencontrerait un problème similaire.

@RubenDuran tu es une superstar ! Votre solution a parfaitement fonctionné pour moi.

@RubenDuran merci beaucoup !

Encore une fois, la solution @RubenDuran a fonctionné ! Merci!!!

Solution pour créer l'environnement virtuel de votre projet si vous avez conda. J'ai eu un problème similaire, j'ai essayé la commande suivante et cela a fonctionné pour moi.
Ubuntu 16.04
Python 2.7.14 :: Anaconda, Inc.

conda create -n yourenvname python=x.x anaconda

_votrenomv_ est le nom de l'environnement virtuel que vous allez créer et utiliser.
_pyrhon=x.x_ : choisissez la version de python que vous souhaitez utiliser dans cet environnement

Salut,
Je suis confronté à la même situation sur centos 7. J'ai résolu le problème avec les lignes suivantes :

miam installer epel-release

miam installer python-pip

pip installer -U pip

miam -y installer python-virtualenv

miam -y installer python-virtualenvwrapper

$ export WORKON_HOME=~/.virtualenvs
$ source /usr/bin/virtualenvwrapper.sh
$ mkvirtualenv monapplication
$ désactiver
$ travaille sur mon appli

Cette page vous a été utile?
0 / 5 - 0 notes