Virtualenv: [Mac] Beim Versuch, eine virtuelle Python-Umgebung zu erstellen, wird OSError angezeigt

Erstellt am 25. Aug. 2015  ·  22Kommentare  ·  Quelle: pypa/virtualenv

Mac OS X: 10.9.5
Pip 7.1.2
virtuelle Umgebung 13.1.2
Python: Python 2.7.10 :: Anaconda 2.3.0 (x86_64)

Shuais-MacBook-Pro:Google Drive shuaiwang$ virtualenv ENV
Neue ausführbare Python-Datei in ENV/bin/python
Installiere Setuptools, Pip, Wheel...
Vollständige Ausgabe des Befehls "/Users/shuaiwang/Google Drive/ENV/bin/python" -c "import sys, pip; sys...d\"] + sys.argv[1:]))" setuptools pip wheel:
Traceback (letzter Aufruf zuletzt):
Datei "“, Zeile 1, ein
Datei „ /Users/shuaiwang/anaconda/lib/python2.7/site-packages/virtualenv_support/pip-7.1.2-py2.py3-none-any.whl/pip/init.py “, Zeile 13, in
Datei „ /Users/shuaiwang/anaconda/lib/python2.7/site-packages/virtualenv_support/pip-7.1.2-py2.py3-none-any.whl/pip/utils/init.py “, Zeile 15, in
Datei "/Users/shuaiwang/anaconda/lib/python2.7/zipfile.py", Zeile 6, in
importieren io
Datei "/Users/shuaiwang/anaconda/lib/python2.7/io.py", Zeile 51, in
Import _io
ImportError: dlopen(/Users/shuaiwang/Google Drive/ENV/lib/python2.7/lib-dynload/_io.so, 2): Symbol nicht gefunden: __PyErr_ReplaceException
Referenziert von: /Users/shuaiwang/Google Drive/ENV/lib/python2.7/lib-dynload/_io.so
Erwartet in: dynamischer Suche


...Installieren von Setuptools, Pip, Wheel...fertig.
Traceback (letzter Aufruf zuletzt):
Datei „/Users/shuaiwang/anaconda/bin/virtualenv“, Zeile 11, in
sys.exit (Haupt())
Datei „/Users/shuaiwang/anaconda/lib/python2.7/site-packages/virtualenv.py“, Zeile 832, in main
Symlink=Optionen.Symlink)
Datei „/Users/shuaiwang/anaconda/lib/python2.7/site-packages/virtualenv.py“, Zeile 1004, in create_environment
install_wheel(to_install, py_executable, search_dirs)
Datei „/Users/shuaiwang/anaconda/lib/python2.7/site-packages/virtualenv.py“, Zeile 969, in install_wheel
'PIP_NO_INDEX': '1'
Datei „/Users/shuaiwang/anaconda/lib/python2.7/site-packages/virtualenv.py“, Zeile 910, in call_subprocess
% (cmd_desc, proc.returncode))
OSError: Befehl "/Users/shuaiwang/Google Drive/ENV/bin/python" -c "import sys, pip; sys...d\"] + sys.argv[1:]))" setuptools pip wheel schlug fehl Fehlercode 1

Hilfreichster Kommentar

Ich hatte ein ähnliches Problem mit conda und virtualenv. Ich konnte eine env mit dem folgenden Befehl erfolgreich installieren und aktivieren:
conda install -c anaconda virtualenv=15.1.0

Alle 22 Kommentare

Ich habe genau den gleichen Fehler und verwende ein sehr ähnliches Setup:

  • Mac 10.10.3
  • Pip 7.1.2
  • virtualenv 13.0.1
  • Python 2.7.10 :: Anaconda 2.2.0 (x86_64)

Dies ist ein mögliches Duplikat von https://github.com/pypa/virtualenv/issues/788

@grisaitis #788 ist ein Duplikat von #788? :D

Und ja, im Moment sieht das nach einem Conda-Python-Problem aus.

Hoppla! Entschuldigung, ich meinte, es könnte ein Duplikat davon sein: https://github.com/pypa/virtualenv/issues/741

Und dies wird durch ein Downgrade auf Python 2.7.9 "behoben", falls Sie es nicht in https://github.com/conda/conda/issues/1367 gesehen haben

Tatsächlich ist es nicht behoben (und mir ist bewusst, dass dies wahrscheinlich ein gemeinsames Problem mit Eigentumswohnungen und virtuellen Geräten ist).

Ich habe die gleichen Probleme mit Python 2.7.11 und Python 3.5.1 und Conda 3.18.9 (und Pip 7.1.2).
Mit Python 3.5.1 schlägt die Erstellung einer virtuellen Umgebung mit „virtualenv“ und „pyvenv“ fehl (mit einem etwas anderen Fehler).

@jenisys , könnten Sie bitte den tatsächlichen Fehler einfügen?

Mit einer Conda-Umgebung, die auf Python 2.7.11 und Virtualenv 13.0.1 basiert, erhalte ich den ähnlichen Fehler, der oben beschrieben wurde (aber ein anderes CPython-Symbol fehlt jetzt);

# -- 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

Bei einer Conda-Umgebung mit Python 3.5.1 sieht der Fehler etwas anders aus:

# -- 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

Wenn ich pyvenv in der Conda-Umgebung verwende (wie bei Python 3.x erwartet), erhalte ich einen weiteren Fehler im Zusammenhang mit dem fehlenden "ensure pip"-Modul (conda-internes Problem, nehme ich an).

Ich habe hier das gleiche Problem, kann mir jemand die Lösung für dieses Problem zeigen? Da es geschlossen ist, muss es gelöst werden, oder?

@icrtiou Es ist hier geschlossen, weil es sich um eine Conda-Ausgabe handelt (die Nummer der Ausgabe ist oben angegeben). Sieht so aus, als wäre es dort noch nicht behoben, aber Sie sollten das Conda-Ticket für weitere Informationen überprüfen.

Ich bin auf einen ähnlichen Fehler gestoßen (keine Verwendung von Anaconda, installierte Python mit brew install), als ich versuchte, eine Umgebung neu zu erstellen, ohne zuerst die vorherige Umgebung zu löschen.

nach rm -rf des alten env-Pfads wurde der Fehler behoben ...

Ich hatte ein ähnliches Problem mit conda und virtualenv. Ich konnte eine env mit dem folgenden Befehl erfolgreich installieren und aktivieren:
conda install -c anaconda virtualenv=15.1.0

Danke!! Das hat bei mir funktioniert.

Meine Lösung besteht darin, den Standard-Python und den Pip in /user/bin/python anstelle der Conda-Version zu ändern
HINWEIS: Nach dem ersten Conda-Fehler ist der virtualenvs-Ordner bereits erstellt und der Pfad und das Setup von conda gespeichert, daher müssen Sie diesen Ordner zuerst entfernen, bevor Sie einen neuen virtualenvs-Ordner erstellen

rm -rf .virtualenvs/ # entfernen
source virtualenvwrapper.sh # erstelle bew virtualenvs

Die von @RubenDuran vorgeschlagene Lösung hat für mich funktioniert.

Ich habe Anaconda nicht benutzt und bin darauf gestoßen. Ich versuche nur, pyenv und virtualenvwrapper zu verwenden. Ich schwöre, das hatte schon einmal funktioniert, aber ich habe dies ausgeführt, um eine neue virtuelle Umgebung zu erstellen:

pyenv shell 3.6.3
mkvirtualenv my_new_env

Das würde einen ähnlichen Stack-Trace wie oben ergeben. Um das Problem zu beheben, habe ich pyenv-virtualenvwrapper installiert. Dann habe ich es wie folgt zum Laufen gebracht:

pyenv shell 3.6.3
pyenv virtualenvwrapper
mkvirtualenv my_new_env

Ich bin mir nicht ganz sicher, was passiert ist, aber es funktioniert und dachte, ich würde es teilen, falls jemand anderes auf ein ähnliches Problem stößt.

@RubenDuran du bist ein Superstar! Ihre Lösung hat bei mir perfekt funktioniert.

@RubenDuran vielen Dank!

Wieder hat die @RubenDuran- Lösung funktioniert! Danke!!!

Lösung zum Erstellen der virtuellen Umgebung für Ihr Projekt, wenn Sie Conda haben. Ich hatte ein ähnliches Problem, ich habe den folgenden Befehl ausprobiert und es hat bei mir funktioniert.
Ubuntu 16.04
Python 2.7.14 :: Anaconda, Inc.

conda create -n yourenvname python=x.x anaconda

_yourenvname_ ist der Name der virtuellen Umgebung, die Sie erstellen und verwenden werden.
_pyrhon=x.x_: Wählen Sie die Python-Version aus, die Sie in dieser Umgebung verwenden möchten

Hallo,
Ich stehe auf Centos 7 vor der gleichen Situation. Ich habe das Problem mit den folgenden Zeilen behoben:

yum installiere epel-release

yum installiere python-pip

pip install -U pip

yum -y installiere python-virtualenv

yum -y python-virtualenvwrapper installieren

$ export WORKON_HOME=~/.virtualenvs
$ source /usr/bin/virtualenvwrapper.sh
$ mkvirtualenv meineapp
$ deaktivieren
$ workon myapp

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen