Errore irreversibile nel programma di avvio: impossibile creare il processo utilizzando “” C: \ Programmi (x86) \ Python33 \ python.exe “” C: \ Programmi (x86) \ Python33 \ pip.exe “”


211

La ricerca in rete sembra essere un problema causato da spazi nel percorso di installazione di Python.

Come faccio pipa lavorare senza dover reinstallare tutto in un percorso senza spazi?


1
Hai provato a utilizzare nomi di percorsi brevi per i file di programma (X86)? ad es. "C: \ PROGRA ~ 2 \ Python33 \ python.exe"
Shadow9043

4
Il problema è che una volta pipinstallato, utilizzerà il nome lungo originale che ottiene dal sistema. Vedi la mia risposta qui sotto.
Archimedix,

2
Riproducibile con Python 2.7 e Windows 10 Anteprima build 10074
Csaba Toth

2
@CsabaToth, devo correggere la tua modifica: le doppie virgolette erano corrette com'erano prima della tua modifica; stavano solo omettendo le virgolette singole: L'errore di Verbatim è: Fatal error in launcher: Unable to create process using '""C:\Program Files (x86)\Python33\python.exe"" "C:\Program Files (x86)\Python33\Scripts\pip.exe" '. Sembra strano, ma è così.
Archimedix,

Stavo usando Powershell (Admin) e funziona al primo tentativo.
Aakash Choubey,

Risposte:


455

sembra che

python -m pip install XXX 

funzionerà comunque (ha funzionato per me) (vedi link dell'utente474491 )


9
Ha reso la risposta accettata, sebbene sia più una soluzione alternativa (o un approccio alternativo) che una soluzione effettiva, ma comunque, è più universalmente applicabile.
Archimedix,

2
@ user4154243, che funziona, ma puoi spiegare cosa fa effettivamente? Ci sono conseguenze nell'usarlo per installare ogni altra libreria?
multigoodverse,

1
mi salvi, stavo cercando di configurare oddo e la sua necessità di configurare Python. Ho provato 5 6 ore per lo stesso problema, finalmente il suo lavoro dalla tua idea. grazie tante. Aggiungo anche la mia risposta per i lavori relativi a Oddo.
Ajay2707,

1
Ha avuto questo problema in un virtualenv, ha usato la tua soluzione per installare l'ultimo pip, che quindi ha consentito l'uso del comando normalmente: python -mpip install pip --upgrade
tr00st

4
questa è una soluzione alternativa e non dovrebbe essere la risposta accettata
Raiden Core,

75

Almeno su Windows, pipmemorizza il percorso di esecuzione nell'eseguibile pip.exequando è installato.

Modifica questo file usando un editor esadecimale o WordPad (devi salvarlo come testo normale quindi conservare i dati binari), cambia il percorso in Python con virgolette e spazi come questo:

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

a un percorso di escape senza spazi e virgolette e pad con spazi (i punti alla fine dovrebbero essere spazi):

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

Per "C: \ Programmi", questo percorso sarebbe probabilmente "C: \ Progra ~ 1" (i nomi di percorso abbreviati nella notazione DOS / Windows 3.x utilizzano tilde e numeri). Windows fornisce questa notazione alternativa per la compatibilità all'indietro con le app DOS / Windows 3.x.

Si noti che poiché si tratta di un file binario, non è necessario modificare la dimensione del file che potrebbe interrompere l'eseguibile, quindi il riempimento.

Salva con i privilegi di amministratore, assicurati che sia effettivamente salvato nella posizione di destinazione e riprova.

Potrebbe anche essere necessario impostare la PATHvariabile per utilizzare la ~notazione per il percorso su pip.


1
Non intendevo la variabile d'ambiente. Intendevo solo dove appariva questa stringa, "#!"C:\Program Files (x86)\Python33\python.exe"ero in grado di scoprire dove fosse usando un editor esadecimale. Tuttavia, usando Sublime Text non era visibile tale stringa. Riesci a pensare a qualche motivo per cui il percorso è mostrato in Wordpad e non in Sublime Text?
Sohaib,

2
WordPad è un muto editor di testi, Sublime è probabilmente troppo intelligente e mostra una discarica esadecimale dei contenuti, immagino.
Archimedix,

6
Questo ha funzionato per me. La mia stringa originale era #!"C:\Program Files\Python3.4\python.exe", quindi l'ho cambiata #!C:\Progra~1\Python3.4\python.exe e ha funzionato. Sono stato in grado di modificare il file bene con Notepad ++. Questa stringa appare vicino alla fine del file, alla fine di una lunga riga.
Scott Weldon,

3
Questo ha funzionato. Ho semplicemente disinstallato Python. Quindi reinstallato; su di reinstallazione, ho appena cambiato la cartella di installazione da C:\Program Files (x86)\Python34essere C:\Progra~2\Python34. (se non desideri occuparti di un editor esadecimale o modificare un file binario)
Trento

2
"Almeno su Windows, pip memorizza il percorso di esecuzione nell'eseguibile pip.exe quando è installato." Ora CHE è stupido -.- Mi è costato mezz'ora per capirlo.
apre il

36

avendo lo stesso problema che ho letto in https://pip.pypa.io/en/latest/installing.html#install-pip che per aggiornare pip è:

python -m pip install -U pip

Quindi ho fatto (per esempio)

python -m pip install virtualenv

E ha funzionato! Quindi puoi fare lo stesso essendo 'virtualenv' un altro pacchetto che desideri.


4
Soffrivo dell'errore elencato e questa è stata la soluzione che ha funzionato per me! Sono stato anche in grado di utilizzare 'pip install virtualenv' e di smettere di usare 'python -m pip' dopo aver effettuato l'aggiornamento alla pip più recente. Grazie!
steve-gregory,

18

python -m pip

funziona davvero per il problema. Fatal error in launcher: Unable to create process using '"'Funzionato su Windows 10


16

Ho avuto un problema simile e l'aggiornamento pip ha risolto il problema per me.

python -m pip install --upgrade pip 

Questo era su Windows e il percorso di Python all'interno di pip.exe non era corretto. Vedi Archimedix answer per maggiori informazioni sul percorso.


2
Grazie! Potrebbe essere necessario aggiungere: --force
Masood Lapeh

Ho già installato la versione più recente. Usato python -m pip install pip == 9.0.0 per passare a una versione precedente e poi fare l'aggiornamento per riparare pip.exe
Stefan

5

Ecco come l'ho risolto:

  1. aprire pip.exein 7zip ed estrarre __main__.pynella cartella Python \ Scripts.

    Nel mio caso lo era C:\Program Files (x86)\Python27\Scripts

  2. Rinomina __main__.pyinpip.py

  3. Eseguirlo! python pip.py install something

MODIFICARE:

Se vuoi essere in grado di fare pip install somethingovunque, fai anche questo:

  1. rinominare pip.py in pip2.py (per evitare errori di importazione pip)

  2. fare C:\Program Files (x86)\Python27\pip.batcon i seguenti contenuti:

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

  1. aggiungi C:\Program Files (x86)\Python27al tuo PERCORSO (se non lo è già)

  2. Eseguirlo! pip install something


4

Questo è un bug noto quando c'è uno spazio nel virtualenvpercorso. La correzione è stata apportata e sarà disponibile nella prossima versione.


5
Il bug Pip ora è stato corretto. Aggiornamento eseguendopython -m pip install -U pip
StuartLC il

13
No, a partire da ora, Python34, ha ancora il bug!
Martin F,

Ancora un problema: Python36
Masood Lapeh,

1
ancora un problema: Python37
jmn

ha ancora il problema: python 3.6.6
user2386301

3

ho avuto lo stesso problema e ho fatto un aggiornamento del pip usando il seguente e ora funziona bene. python -m pip install --upgrade pip


2

Ho scritto una sceneggiatura per rattoppare quelle exe. Ma il modo migliore è riparare il distutil stesso.

"""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
Ho avuto l'errore "Impossibile creare il processo" quando ho provato a eseguire eb.exe (parte della CLI di AWS Elastic Beanstalk) e questo piccolo script ha risolto eb.exe! Funziona ora, grazie.
JustAC0der

Questo ha funzionato per me, ma solo dopo aver modificato il codice in modo che corrispondesse alla lunghezza di real_int_path con int_path. L'ho riempito di spazi come suggerito dalla risposta di Archimedix.
lou,

2

Ho avuto lo stesso problema su Windows 10, dopo aver provato tutta la soluzione precedente il problema persiste, quindi ho deciso di disinstallare il mio Python 2.7 e installare la versione 2.7.13 e funziona perfettamente.


2

Questo può accadere se si utilizza un file system con distinzione tra maiuscole e minuscole su Windows. Puoi sapere se questo è il caso se nella tua directory sono presenti sia una libdirectory che una directory: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

Per ovviare a questo (fino a quando non virtualenv.pyviene risolto: https://github.com/pypa/virtualenv/issues/935 ) unire le due directory lib e rendere venvcase insensitive:

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

Non avevo una directory 'Lib' e 'lib', ma continuavo a riscontrare questo problema. È possibile utilizzare quanto segue per determinare direttamente se la directory venv fa distinzione tra maiuscole e minuscole fsutil.exe file queryCaseSensitiveInfo .venv. Ulteriori informazioni sui filesystem con distinzione tra maiuscole e minuscole in Windows sono disponibili all'indirizzo devblogs.microsoft.com/commandline/…
CodeButcher

1

Per favore aggiungi questo indirizzo:

C: \ Programmi (x86) \ Python33

nella variabile PATH di Windows

Sebbene prima assicurati che questa sia la cartella in cui risiede il file exe Python, quindi aggiungi solo questo percorso alla variabile PATH.

Per aggiungere indirizzi nella variabile PATH, vai a

Pannello di controllo -> Sistemi -> Impostazioni di sistema avanzate -> Variabili di ambiente -> Variabili di sistema -> Percorso -> Modifica ->

Quindi aggiungi il percorso sopra menzionato e fai clic su Salva


1

Ho rinominato l'eseguibile di python.exead es python27.exe. Rispetto alla risposta di Archimedix ho aperto il mio pip.exe con un editor esadecimale , ho fatto scorrere fino alla fine del file e ho modificato python.exeil percorso nel python27.exe. Durante la modifica assicurati di non sovrascrivere altre informazioni.


1

Ho aggiunto il mio anwer perché sto ottenendo lo stesso errore durante la configurazione del codice sorgente ODDO9 in locale e ha bisogno che l'exe esegua mentre esegui exe, ho ottenuto lo stesso errore.

Da ieri ho configurato oddo 9.0 (sezione: - "Dipendenze Python elencate nel file requisito.txt") e la sua necessità di eseguire exe PIP come

C: \ YourOdooPath> C: \ Python27 \ Scripts \ pip.exe install -r Requisiti.txt

Il mio percorso oddo è: - D: \ Programmi (x86) \ Odoo 9.0-20151014 La mia posizione pip è: - D: \ Programmi (x86) \ Python27 \ Scripts \ pip.exe

Quindi apro il prompt dei comandi e vado sopra il percorso oddo e provo a eseguire pip exe con queste combinazioni, ma non viene sempre visualizzato l'errore sopra.

  1. D: \ Programmi (x86) \ Python27 \ Scripts \ pip.exe install -r Requisiti.txt
  2. "D: \ Programmi (x86) \ Python27 \ Scripts \ pip.exe install -r Requisiti.txt" Python27 \ Scripts \ pip.exe installa -r Requisiti.txt

  3. "Python27 / Scripts / pip.exe install -r Requisiti.txt"

Ho risolto il mio problema con la risposta @ user4154243, grazie per quello.

Passaggio 1: Aggiungi variabile (se il tuo percorso non rientra nel percorso della variabile).

Passaggio 2: vai al prompt dei comandi, apri il percorso oddo dove hai installato.

Passaggio 3: eseguire questo comando python -m pip install XXXeseguirà e installerà le cose.


1

risolvo il mio problema in Windows se installi sia python2 che python3

u bisogno di inserire qualcuno \ Scripts cambiano file.exe a file27.exe , allora risolvere

my D: \ Python27 \ Scripts modifica django-admin.exe in django-admin27.exe in modo da farlo


Benvenuti in SO. Cerca la formattazione della risposta nella sezione della guida.
Richard Erickson,

1

Il mio esatto problema era (errore irreversibile nel programma di avvio: impossibile creare il processo usando '"') su Windows 10. Così sono passato alla" C: \ Python33 \ Lib \ site-pacchetti "e ho eliminato la cartella django e le cartelle pip quindi reinstallato django usando pip e il mio problema è stato risolto.


1

Ho scelto di installare Python per Windows (64 bit) non per tutti gli utenti, ma solo per me.

La reinstallazione di Python-x64 e il controllo dell'opzione avanzata "per tutti gli utenti" hanno risolto il problema con pip.


1

Ecco come l'ho risolto.

  1. Scarica https://bootstrap.pypa.io/get-pip.py
  2. Attiva il tuo vitualenv
  3. Passare al file get-pip.py e digitare "python get-pip.py" senza virgolette.

reinstallerà la pip all'interno dell'ambiente e disinstallerà automaticamente la versione precedente.

ora boom !! installa quello che ti piace


0

Prova a reinstallare utilizzando il link seguente,

Scarica https://bootstrap.pypa.io/get-pip.py

Dopo il download, copia "get-pip.py" nella directory principale installata di Python, quindi apri cmd e vai alla directory di Python e digita "python get-pip.py" (senza virgolette)

Nota: assicurarsi inoltre che la directory python sia impostata nella variabile ambientale.

Spero che questo possa aiutare.


0

Per me questo problema è apparso quando ho cambiato il percorso dell'ambiente per puntare alla v2.7 che inizialmente puntava alla v3.6 . Dopodiché, per eseguire i comandi pip o virtualenv , ho dovuto python -m pip install XXXmenzionare le risposte seguenti.

Quindi, per sbarazzarmi di questo, ho eseguito di nuovo il programma di installazione v2.7 , ho scelto l' opzione di modifica e mi sono assicurato che l' opzione Aggiungi al percorso fosse abilitata e ho lasciato correre il programma di installazione. Dopodiché tutto funziona come dovrebbe.


0

Ho riscontrato questo problema e le altre correzioni in questa pagina non hanno risolto completamente il problema.

Ciò che ha risolto il problema è stato accedere alle variabili di ambiente del mio sistema e guardare il PERCORSO: avevo disinstallato Python 3 ma il vecchio percorso della cartella Python 3 era ancora lì. Sto eseguendo solo Python 2 sul mio PC e ho usato Python 2 per installare pip.

L'eliminazione dei riferimenti alle cartelle inesistenti di Python 3 da PATH oltre all'aggiornamento all'ultima versione di piprisolto il problema.


0

Ho avuto una soluzione più semplice. Usando il modo @apple ma rinominare il file .py principale in pip.py, quindi inserirlo nella cartella degli script della versione di Python e aggiungere la cartella degli script al percorso per accedervi a livello globale. se non si desidera aggiungerlo al percorso, è necessario eseguire il cd agli script e quindi eseguire il comando pip.


0

Su Windows avevo risolto questo problema nel modo seguente:

1) disinstallato Python

2) navigato verso C:\Users\MyName\AppData\Local\Programs(dovresti attivare la visibilità dei file nascosti Mostra le istruzioni sui file nascosti )

3) cartella 'Python' eliminata

4) installato Python


Sono su Windows 10. Ho copiato la cartella Python e sovrascritto su un nuovo computer per risparmiare tempo dall'installazione di tutto ciò che supera gli 800 MByte. Questo ha funzionato bene prima, ma in qualche modo non questa volta. Ho provato di tutto qui, solo la soluzione definitiva di Darkside funziona per me.
HCChen

0

Ho un problema simile quando reinstallo Python, disinstallando Python3.7 e installando Python3.8. Ma l'ho risolto rimuovendo la versione precedente della directory python. Per me si trovava qui,

C: \ Users \ your-nomeutente \ AppData \ Local \ Programmi \ Python

Ho eliminato la cartella denominata Python37 (per la versione precedente) e conservo Python38 (per la versione aggiornata) . Questo ha funzionato perché Python stesso sembra avere problemi a trovare la directory giusta per i tuoi script Python.


0

Stavo cercando di installare alcuni pacchetti del sito come numpy, xgboost e così via, ma questo errore si è verificato ogni volta:

Fatal error in launcher: Unable to create process using

Ho provato molti modi per risolvere questo problema e ho trovato questo che mi ha aiutato con successo:

python -m pip freeze

Spero che possa aiutare anche qualcuno.

PS Ho trovato questa soluzione qui: https://stackoverflow.com/a/39733705/10310794


0

Puoi rimuovere la cartella Python precedente e anche il percorso della variabile di ambiente dal tuo PC, quindi Reinstalla Python .it verrà risolto


-2

Invece di chiamare direttamente ipython, viene caricato usando Python come

$ python "percorso completo per ipython.exe"

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.