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?

Archimedix
quelle
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 )

user4154243
quelle
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.

Archimedix
quelle
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.

MiguelCldn
quelle
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

Joel K Thomas
quelle
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 .

Johan Gov.
quelle
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

apple16
quelle
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.

user474491
quelle
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

Amardev Joynauth
quelle
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:])
krrr
quelle
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.

Badr Bellaj
quelle
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
cdjc
quelle
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

Samik Banerjee
quelle
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.

Markus Weber
quelle
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.

Ajay2707
quelle
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

decemer
quelle
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.

Norman Pilusa
quelle
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.

Riki137
quelle
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

Mahabub Rahman
quelle
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.

MS Arun
quelle
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.

MrClan
quelle
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.

Axesilo
quelle
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.

Sahib Khan
quelle
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

dunkle Seite
quelle
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.

König
quelle
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

Roman Voyt
quelle
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

user8099291
quelle
-2

Anstatt ipython direkt aufzurufen, wird es mit Python wie z

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

Stephen Kim
quelle