Schwerwiegender Fehler im Launcher: Prozess kann nicht mit "" C: \ Programme (x86) \ Python33 \ python.exe "" C: \ Programme (x86) \ Python33 \ pip.exe "" erstellt werden.


211

Beim Durchsuchen des Netzes scheint dies ein Problem zu sein, das durch Leerzeichen im Python-Installationspfad verursacht wird.

Wie komme ich pipzur Arbeit, ohne alles auf einem Pfad ohne Leerzeichen neu installieren zu müssen?


1
Haben Sie versucht, kurze Pfadnamen für Programmdateien (X86) zu verwenden? zB "C: \ PROGRA ~ 2 \ Python33 \ python.exe"
Shadow9043

4
Das Problem ist, dass bei der pipInstallation der ursprüngliche, lange Name verwendet wird, den das System erhält. Siehe meine Antwort unten.
Archimedix

2
Reproduzierbar mit Python 2.7 und Windows 10 Preview Build 10074
Csaba Toth

2
@CsabaToth, ich muss Ihre Bearbeitung korrigieren: Die doppelten Anführungszeichen waren korrekt wie vor Ihrer Änderung; Sie ließen nur die einfachen Anführungszeichen weg: Der wörtliche Fehler ist : Fatal error in launcher: Unable to create process using '""C:\Program Files (x86)\Python33\python.exe"" "C:\Program Files (x86)\Python33\Scripts\pip.exe" '. Sieht seltsam aus, ist aber so wie es ist.
Archimedix

Ich habe Powershell (Admin) verwendet und es funktioniert auf Anhieb.
Aakash Choubey

Antworten:


455

Es scheint, dass

python -m pip install XXX 

wird sowieso funktionieren (hat bei mir funktioniert) (siehe Link von user474491 )


9
Hat es zur akzeptierten Antwort gemacht, obwohl es eher eine Problemumgehung (oder ein alternativer Ansatz) als eine tatsächliche Lösung ist, aber es ist trotzdem universeller anwendbar.
Archimedix

2
@ user4154243, das funktioniert, aber kannst du erklären, was es tatsächlich tut? Gibt es Konsequenzen, wenn Sie damit jede andere Bibliothek installieren?
Multigoodverse

1
Sie retten mich, ich habe versucht, Oddo und seine Notwendigkeit, Python zu konfigurieren, zu konfigurieren. Ich habe 5 6 Stunden für das gleiche Problem versucht, schließlich ist es Arbeit von Ihrer Idee. vielen Dank. Ich füge auch meine Antwort für seltsame Arbeiten hinzu.
Ajay2707

1
Hatte dieses Problem in einer virtuellen Umgebung mit Ihrer Lösung die neueste Pip installiert, die dann die normale Verwendung des Befehls ermöglichte: python -mpip install pip --upgrade
tr00st

4
Dies ist eine Problemumgehung und sollte nicht die akzeptierte Antwort sein
Raiden Core

75

pipSpeichert mindestens unter Windows den Ausführungspfad in der ausführbaren Datei, pip.exewenn diese installiert wird.

Bearbeiten Sie diese Datei mit einem Hex-Editor oder WordPad (Sie müssen sie als einfachen Text speichern, um die Binärdaten beizubehalten). Ändern Sie den Pfad zu Python mit Anführungszeichen und Leerzeichen wie folgt:

#!"C:\Program Files (x86)\Python33\python.exe"

zu einem Escape-Pfad ohne Leerzeichen und Anführungszeichen und Pad mit Leerzeichen (Punkte am Ende sollten Leerzeichen sein):

#!C:\Progra~2\Python33\python.exe.............

Für "C: \ Programme" wäre dieser Pfad wahrscheinlich "C: \ Progra ~ 1" (verkürzte Pfadnamen in der DOS / Windows 3.x-Notation verwenden Tilde und Zahlen). Windows bietet diese alternative Notation für die Abwärtskompatibilität mit DOS / Windows 3.x-Apps.

Da es sich um eine Binärdatei handelt, sollten Sie die Dateigröße nicht ändern, da dies die ausführbare Datei und damit das Auffüllen beschädigen kann.

Speichern Sie mit Administratorrechten, stellen Sie sicher, dass es tatsächlich am Zielspeicherort gespeichert ist, und versuchen Sie es erneut.

Möglicherweise müssen Sie auch die PATHVariable festlegen , um die ~Notation für den Pfad zu zu verwenden pip.


1
Ich meinte nicht die Umgebungsvariable. Ich meinte nur, wo diese Zeichenfolge erschien. "#!"C:\Program Files (x86)\Python33\python.exe"Ich konnte mithilfe eines Hex-Editors herausfinden, wo sie sich befand. Bei Verwendung von Sublime Text war jedoch keine solche Zeichenfolge sichtbar. Können Sie sich einen Grund vorstellen, warum der Pfad in Wordpad und nicht in Sublime Text angezeigt wird?
Sohaib

2
WordPad ist ein dummer Texteditor, Sublime ist wahrscheinlich zu schlau und zeigt einen Hex-Dump des Inhalts, denke ich.
Archimedix

6
Das hat bei mir funktioniert. Meine ursprüngliche Saite war #!"C:\Program Files\Python3.4\python.exe", also habe ich sie geändert #!C:\Progra~1\Python3.4\python.exe und es hat funktioniert. Ich konnte die Datei gut mit Notepad ++ bearbeiten. Diese Zeichenfolge wird am Ende einer langen Zeile am Ende der Datei angezeigt.
Scott Weldon

3
Das hat funktioniert. Ich habe Python einfach deinstalliert. Dann neu installiert; bei Neuinstallation, änderte ich nur Ordner die Installation von C:\Program Files (x86)\Python34sein C:\Progra~2\Python34. (wenn Sie sich nicht mit einem Hex-Editor befassen oder eine Binärdatei ändern möchten)
Trent

2
"Zumindest unter Windows speichert pip den Ausführungspfad bei der Installation in der ausführbaren Datei pip.exe." Nun, das ist dumm. Hat mich eine halbe Stunde gekostet, um das herauszufinden.
Plocks

36

mit der gleichen Mühe , die ich in gelesen https://pip.pypa.io/en/latest/installing.html#install-pip , dass es zu Update pip:

python -m pip install -U pip

Also habe ich (zum Beispiel) gemacht

python -m pip install virtualenv

Und es hat funktioniert! Sie können also dasselbe tun, indem Sie ein anderes Paket 'virtualenv' verwenden, das Sie möchten.


4
Ich hatte den aufgelisteten Fehler und dies war die Lösung, die für mich funktioniert hat! Ich konnte sogar 'pip install virtualenv' verwenden und 'python -m pip' nicht mehr verwenden, nachdem ich das Upgrade auf den neuesten pip durchgeführt hatte. Vielen Dank!
Steve Gregory

18

Python -m Pip

funktioniert wirklich für das Problem. Fatal error in launcher: Unable to create process using '"'Arbeitete unter Windows 10


16

Ich hatte ein ähnliches Problem und das Upgrade von pip hat es für mich behoben.

python -m pip install --upgrade pip 

Dies war unter Windows und der Pfad zu Python in pip.exe war falsch. Weitere Informationen zum Pfad finden Sie unter Archimedix-Antwort .


2
Vielen Dank! Möglicherweise müssen Sie hinzufügen: --force
Masood Lapeh

Ich hatte bereits die neueste Version installiert. Verwendet python -m pip install pip == 9.0.0, um eine alte Version zu erstellen und dann das Upgrade durchzuführen, um pip.exe zu reparieren
Stefan

5

So habe ich es gelöst:

  1. Öffnen Sie es pip.exein 7zip und extrahieren Sie es __main__.pyin den Ordner Python \ Scripts.

    In meinem Fall war es C:\Program Files (x86)\Python27\Scripts

  2. Umbenennen __main__.pyinpip.py

  3. Starte es! python pip.py install something

BEARBEITEN:

Wenn Sie pip install somethingvon überall aus in der Lage sein möchten , tun Sie dies auch:

  1. benenne pip.py in pip2.py um (um Import-Pip-Fehler zu vermeiden)

  2. machen C:\Program Files (x86)\Python27\pip.batmit folgenden Inhalten:

Python "C: \ Programme (x86) \ Python27 \ Scripts \ pip2.py"% 1% 2% 3% 4% 5% 6% 7% 8% 9

  1. füge C:\Program Files (x86)\Python27deinen PFAD hinzu (falls noch nicht geschehen)

  2. Starte es! pip install something


4

Dies ist ein bekannter Fehler, wenn der virtualenvPfad ein Leerzeichen enthält . Die Korrektur wurde vorgenommen und wird in der nächsten Version verfügbar sein.


5
Der Pip-Fehler wurde behoben. Update durch Ausführenpython -m pip install -U pip
StuartLC

13
Nein, Python34 hat noch immer den Fehler!
Martin F

Immer noch ein Problem: Python36
Masood Lapeh

1
immer noch ein Problem: Python37
jmn

habe immer noch das Problem: Python 3.6.6
user2386301

3

Ich hatte das gleiche Problem und machte ein Pip-Upgrade mit folgenden und jetzt funktioniert es gut. python -m pip install --upgrade pip


2

Ich habe ein Skript geschrieben, um diese Exe zu patchen. Aber der beste Weg ist, Distutil selbst zu reparieren.

"""Fix "Fatal error in launcher: Unable to create process using ..." error. Put me besides those EXE made by pip. (They are made by distutils, and used by pip)"""
import re
import sys
import os
from glob import glob


script_path = os.path.dirname(os.path.realpath(__file__))
real_int_path = sys.executable
_t = script_path.rpartition(os.sep)[0] + os.sep + 'python.exe'
if script_path.lower().endswith('scripts') and os.path.isfile(_t):
    real_int_path = _t

print('real interpreter path: ' + real_int_path)
print()

for i in glob('*.exe'):
    with open(i, 'rb+') as f:
        img = f.read()
        match = re.search(rb'#![a-zA-Z]:\\.+\.exe', img)
        if not match:
            print("can't fix file: " + i)
            continue
        int_path = match.group()[2:].decode()
        int_path_start = match.start() + 2
        int_path_end = match.end()

        if int_path.lower() == real_int_path.lower():
            continue
        print('fix interpreter path: %s in %s' % (int_path, i))
        f.seek(int_path_start)
        f.write(real_int_path.encode())
        f.write(img[int_path_end:])

1
Ich hatte den Fehler "Prozess kann nicht erstellt werden", als ich versuchte, eb.exe (Teil der AWS Elastic Beanstalk CLI) auszuführen, und dieses kleine Skript reparierte eb.exe! Es funktioniert jetzt, danke.
JustAC0der

Dies funktionierte für mich jedoch erst, nachdem der Code so geändert wurde, dass die Länge vom real_int_path mit dem int_path übereinstimmt. Ich habe es mit Leerzeichen aufgefüllt, wie aus der Antwort von Archimedix hervorgeht.
Lou

2

Ich hatte das gleiche Problem unter Windows 10, nachdem ich alle vorherigen Lösungen ausprobiert hatte, blieb das Problem bestehen. Daher entschied ich mich, mein Python 2.7 zu deinstallieren und die Version 2.7.13 zu installieren, und es funktioniert einwandfrei.


2

Dies kann passieren, wenn Sie unter Windows ein Dateisystem verwenden, bei dem zwischen Groß- und Kleinschreibung unterschieden wird. Sie können feststellen, ob dies der Fall ist, wenn sich in Ihrem Verzeichnis sowohl ein libVerzeichnis als auch ein Verzeichnis befindet:Libvenv

> dir

Directory: C:\git\case\sensitive\filesystem\here\venv

Mode                LastWriteTime         Length Name
----                -------------         ------ ----
d-----        4/07/2018   4:10 PM                Include
d-----       22/01/2019   7:52 AM                Lib
d-----       22/01/2019   7:52 AM                lib
d-----       22/01/2019   7:52 AM                Scripts
d-----       22/01/2019   7:52 AM                tcl

Um dies zu umgehen (bis es virtualenv.pybehoben ist: https://github.com/pypa/virtualenv/issues/935 ), führen Sie die beiden lib-Verzeichnisse zusammen und machen Sie die venvGroß- und Kleinschreibung nicht berücksichtigt:

cd venv
move Lib rmthis
move .\rmthis\site-packages\ lib
rmdir rmthis
fsutil.exe file setCaseSensitiveInfo . disable

Ich hatte kein 'Lib'- und' lib'-Verzeichnis, bin aber trotzdem auf dieses Problem gestoßen. Sie können Folgendes verwenden, um direkt zu bestimmen, ob das venv-Verzeichnis zwischen Groß- und Kleinschreibung unterscheidet fsutil.exe file queryCaseSensitiveInfo .venv. Weitere Hintergrundinformationen zu Dateisystemen mit Groß- und Kleinschreibung in Windows finden Sie unter devblogs.microsoft.com/commandline/…
CodeButcher

1

Bitte fügen Sie diese Adresse hinzu:

C: \ Programme (x86) \ Python33

in Windows PATH Variable

Stellen Sie zunächst sicher, dass dies der Ordner ist, in dem sich die Python-Exe-Datei befindet, und fügen Sie dann diesen Pfad nur der PATH-Variablen hinzu.

Um Adressen in der PATH-Variablen anzuhängen, gehen Sie bitte zu

Systemsteuerung -> Systeme -> Erweiterte Systemeinstellungen -> Umgebungsvariablen -> Systemvariablen -> Pfad -> Bearbeiten ->

Fügen Sie dann den oben genannten Pfad hinzu und klicken Sie auf Speichern


1

Ich umbenannt die ausführbare Datei von python.exezB auf python27.exe. In Bezug auf die Antwort von Archimedix habe ich meine pip.exe mit einem Hex-Editor geöffnet , zum Ende der Datei gescrollt und die python.exeim Pfad zu geändert python27.exe. Während der Bearbeitung stellen Sie sicher, dass Sie andere Informationen nicht überschreiben.


1

Ich habe meine Antwort hinzugefügt, weil beim Konfigurieren des ODDO9-Quellcodes in local derselbe Fehler auftritt und die Exe ausgeführt werden muss, während die Exe ausgeführt wird. Ich habe den gleichen Fehler erhalten.

Von gestern an habe ich oddo 9.0 konfiguriert (Abschnitt: - "Python-Abhängigkeiten in der Datei require.txt aufgeführt.") Und die Notwendigkeit, PIP exe as auszuführen

C: \ YourOdooPath> C: \ Python27 \ Scripts \ pip.exe installiere -r required.txt

Mein Oddo-Pfad lautet: - D: \ Programme (x86) \ Odoo 9.0-20151014 Mein Pip-Speicherort lautet: - D: \ Programme (x86) \ Python27 \ Scripts \ pip.exe

Also öffne ich die Eingabeaufforderung und gehe zum obigen Oddo-Pfad und versuche, pip exe mit dieser Kombination auszuführen, aber nicht immer über dem Fehler.

  1. D: \ Programme (x86) \ Python27 \ Scripts \ pip.exe installiere -r require.txt
  2. "D: \ Programme (x86) \ Python27 \ Scripts \ pip.exe installieren -r Anforderungen.txt" Python27 \ Scripts \ pip.exe installieren -r Anforderungen.txt

  3. "Python27 / Scripts / pip.exe installiere -r Anforderungen.txt"

Ich habe mein Problem durch die Antwort @ user4154243 behoben, danke dafür.

Schritt 1: Variable hinzufügen (wenn Ihr Pfad nicht im Pfad der Variablen enthalten ist).

Schritt 2: Gehen Sie zur Eingabeaufforderung und öffnen Sie den Oddo-Pfad, in dem Sie installiert haben.

Schritt 3: Führen Sie diesen Befehl aus python -m pip install XXX, um die Dinge auszuführen und zu installieren.


1

i mein Problem in lösen Fenster , wenn u beide installieren python2 und python3

Sie müssen jemanden eingeben \ Skripte ändern alle file.exe in file27.exe , dann wird es gelöst

Mein D: \ Python27 \ Scripts bearbeitet django-admin.exe in django-admin27.exe, damit es fertig ist


Willkommen bei SO. Die Formatierung Ihrer Antwort finden Sie in der Hilfe.
Richard Erickson

1

Mein genaues Problem war (schwerwiegender Fehler im Launcher: Prozess kann nicht mit '"' erstellt werden) unter Windows 10. Also navigierte ich zu" C: \ Python33 \ Lib \ site-packages "und löschte Django-Ordner und Pip-Ordner und installierte Django neu mit pip und mein problem wurde gelöst.


1

Ich habe mich entschieden, Python für Windows (64 Bit) nicht für alle Benutzer zu installieren, sondern nur für mich.

Die Neuinstallation von Python-x64 und das Aktivieren der erweiterten Option "für alle Benutzer" löste das Pip-Problem für mich.


1

Hier ist, wie ich es behoben habe.

  1. Laden Sie https://bootstrap.pypa.io/get-pip.py herunter
  2. Aktivieren Sie Ihre Vitualenv
  3. Navigieren Sie zur Datei get-pip.py und geben Sie "python get-pip.py" ohne Anführungszeichen ein.

Dadurch wird Ihr Pip in der Umgebung neu installiert und die vorherige Version automatisch deinstalliert.

jetzt boom !! Installieren Sie, was Sie möchten


0

Versuchen Sie die Neuinstallation über den folgenden Link.

Laden Sie https://bootstrap.pypa.io/get-pip.py herunter

Kopieren Sie nach dem Download die Datei "get-pip.py" in das installierte Hauptverzeichnis von Python, öffnen Sie cmd, navigieren Sie zum Python-Verzeichnis und geben Sie "python get-pip.py" ein (ohne Anführungszeichen).

Hinweis: Stellen Sie außerdem sicher, dass das Python-Verzeichnis in der Umgebungsvariablen festgelegt ist.

Hoffe das könnte helfen.


0

Für mich trat dieses Problem auf, als ich den Umgebungspfad auf v2.7 änderte, der ursprünglich auf v3.6 zeigte . Danach Pip oder laufen lassen virtualenv Befehle, musste ich , python -m pip install XXXwie unten in den Antworten erwähnt.

Um dies zu beseitigen , habe ich das v2.7- Installationsprogramm erneut ausgeführt, die Änderungsoption ausgewählt und sichergestellt, dass die Option zum Hinzufügen zum Pfad aktiviert ist, und das Installationsprogramm ausgeführt. Danach funktioniert alles wie es sollte.


0

Ich hatte dieses Problem und die anderen Korrekturen auf dieser Seite haben das Problem nicht vollständig gelöst.

Was das Problem löste, war, in meine Systemumgebungsvariablen zu gehen und den PFAD zu betrachten - ich hatte Python 3 deinstalliert, aber der alte Pfad zum Python 3-Ordner war noch vorhanden. Ich verwende nur Python 2 auf meinem PC und installiere Pip mit Python 2.

Das Löschen der Verweise auf die nicht vorhandenen Python 3-Ordner aus PATH sowie das Aktualisieren auf die neueste Version von pipbehebt das Problem.


0

Ich hatte eine einfachere Lösung. Verwenden Sie @apple way, aber benennen Sie main .py in pip.py um, legen Sie es dann in Ihrem Skriptordner für die Python-Version ab und fügen Sie Ihrem Pfad einen Skriptordner hinzu, um global darauf zuzugreifen. Wenn Sie es nicht zum Pfad hinzufügen möchten, müssen Sie zu Skripten cd und dann den Befehl pip ausführen.


0

Unter Windows ich dieses Problem folgendermaßen gelöst:

1) Python deinstalliert

2) navigiert zu C:\Users\MyName\AppData\Local\Programs(Sie sollten die Sichtbarkeit versteckter Dateien aktivieren. Anweisung für versteckte Dateien anzeigen )

3) 'Python'-Ordner gelöscht

4) Python installiert


Ich bin unter Windows 10. Ich habe den Python-Ordner kopiert und auf einen neuen Computer überschrieben, um Zeit bei der Installation von mehr als 800 MByte zu sparen. Das hat vorher gut funktioniert, aber diesmal irgendwie nicht. Ich habe hier alles versucht, nur die ultimative Lösung von Darkside funktioniert für mich.
HCChen

0

Ich habe ein ähnliches Problem, wenn ich mein Python neu installiere, indem ich python3.7 deinstalliere und python3.8 installiere. Aber ich habe es gelöst, indem ich die vorherige Version des Python-Verzeichnisses entfernt habe. Für mich befand es sich hier,

C: \ Benutzer \ Ihr Benutzername \ AppData \ Local \ Programme \ Python

Ich habe den Ordner mit dem Namen Python37 (für die vorherige Version) gelöscht und Python38 (für die aktualisierte Version) beibehalten . Dies funktionierte, weil Python selbst Probleme zu haben scheint, das richtige Verzeichnis für Ihre Python-Skripte zu finden.


0

Ich habe versucht, einige Site-Pakete wie numpy, xgboost usw. zu installieren, aber dieser Fehler trat jedes Mal auf:

Fatal error in launcher: Unable to create process using

Ich habe viele Möglichkeiten ausprobiert, um dieses Problem zu lösen, und habe diese gefunden, die mir erfolgreich geholfen hat:

python -m pip freeze

Hoffe, es wird auch jemandem helfen.

PS Ich habe diese Lösung hier gefunden: https://stackoverflow.com/a/39733705/10310794


0

Sie können den vorherigen Python-Ordner und auch den Pfad der Umgebungsvariablen von Ihrem PC entfernen. Anschließend wird Python neu installiert. Es wird gelöst


-2

Anstatt ipython direkt aufzurufen, wird es mit Python wie z

$ python "vollständiger Pfad zu ipython.exe"

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.