<p>virtualenv schlägt mit Python 3.5 unter Windows fehl</p>

Erstellt am 15. Sept. 2015  ·  16Kommentare  ·  Quelle: pypa/virtualenv

  1. Installieren Sie Python 3.5 mit dem offiziellen Windows-Installationsprogramm
  2. Holen Sie sich eine Muschel
  3. python -m surepip (weil das Installationsprogramm aus irgendeinem Grund pip nicht für mich installiert hat)
  4. python -m pip install virtualenv (bekommt mir Version 13.1.2)
  5. python -m virtualenv env

Ich erwarte: eine virtualenv in ./env

Ich erhalte: einen GUI-Fehlerdialog mit der Meldung "Das Programm kann nicht gestartet werden, weil VCRUNTIME140.dll auf Ihrem Computer fehlt."

Anscheinend muss virtualenv vcruntime140.dll in das neue virtualenv kopieren, damit Python 3.5 unter Windows funktioniert.

Ursprünglich abgelegt unter http://bugs.python.org/issue25119

Hilfreichster Kommentar

Ebenso wird python3.dll nicht kopiert, was bedeutet, dass einige Erweiterungsmodule (wie PyQt5) mit ImportError: DLL load failed: The specified module could not be found. fail fehlschlagen

Alle 16 Kommentare

@zooba haben Sie einen Rat, wie Virtualenv hier am besten vorgehen sollte? Eine DLL in alle 3.5 virtualenv kopieren?

Ja, das wird nötig sein.

Unter Windows würde ich vorschlagen, jede vcruntime*.dll Datei von sys.prefix und join(sys.prefix, 'DLLs') kopieren. Irgendwann werden wir vcruntime140.dll in DLLs verschieben, um mit älteren Erweiterungsmodulen kompatibel zu sein, aber es ist nicht abzusehen, wann das sein wird (ich bin noch nicht überzeugt, dass es in einer Hauptversion sein muss).

Bekommst du diesen Fehler auch bei https://pypi.python.org/pypi/virtualenv-rewrite ?

Nein, virtualenv-rewrite funktioniert mit Python 3.5 einwandfrei. (Ich habe virtualenv-rewrite 14.1.0 vor einiger Zeit getestet, es funktioniert immer noch gut auf meinem Jenkins.)

Ich habe das gleiche Problem unter Windows und das Kopieren der DLL reicht nicht aus, da die Einrichtung der Skripte noch nicht abgeschlossen ist.

Ich habe Python 2.7 und 3.5 unter denselben Windows (beide für alle Benutzer installiert) und es schlägt mit allen folgenden Befehlen fehl.

> virtualenv --python="C:\Python35\python.exe" env

(with virtualenvwrapper) > mkvirtualenv --python="C:\Python35\python.exe" env

> C:\Python35\Scripts\virtualenv-3.4.exe  --python="C:\Python35\python.exe" env

Bestätigen Sie diesen Fehler mit Python 3.5.1 unter Windows 10 mit virtualenv v13.1.2 :(

Übrigens, ich musste auf 3.4 zurückgreifen, damit es funktioniert.

Ich bestätige dies mit Python 3.5.2 unter Windows 10 mit virtualenv 15.0.3

bestätige dies mit Python 3.5.2 unter Windows 8.1 mit virtualenv 15.0.3

Bestätigen Sie den Fehler mit Python 3.5.2 unter Windows 7 mit virtualenv 15.0.3

Okay, Jungs. Ich hatte das gleiche Problem. Ich habe "pywin32" von https://sourceforge.net/projects/pywin32/ installiert.
Ich habe den Fehler danach nicht bekommen. pywin32 hat eine Python-Erweiterung für Windows.
Installieren Sie es für Ihre Python-Version.
Stellen Sie sicher, dass Sie die richtige Version erhalten (entspricht Python-Version, 32bit/64bit usw.).
Ich hoffe es hilft.

Danke, Amytipple! Übrigens müssen Sie keine DLL-Dateien von nicht vertrauenswürdigen zufälligen Internet-Sites herunterladen, kopieren Sie einfach die Datei von c:/Python3.5/ (oder wo auch immer Sie Python 3.5 installiert haben) in ein beliebiges Verzeichnis auf Ihrem %PATH%.

Ebenso wird python3.dll nicht kopiert, was bedeutet, dass einige Erweiterungsmodule (wie PyQt5) mit ImportError: DLL load failed: The specified module could not be found. fail fehlschlagen

Es gibt einen einfachen Workaround. Aktualisieren Sie einfach den Pfad, um die spezifische Python-Version einzuschließen, zB:

set "PATH=C:\Program Files (x86)\Python36-32;%PATH%"

Dieses Problem wurde automatisch als veraltet markiert, da es in letzter Zeit keine Aktivität hatte. Es wird geschlossen, wenn keine weitere Aktivität stattfindet. Fügen Sie einfach einen Kommentar hinzu, wenn Sie ihn offen halten möchten. Vielen Dank für Ihre Beiträge.

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen