Error grave en el iniciador: no se puede crear el proceso usando “” C: \ Archivos de programa (x86) \ Python33 \ python.exe “” C: \ Archivos de programa (x86) \ Python33 \ pip.exe “”

211

Buscar en la red parece ser un problema causado por espacios en la ruta de instalación de Python.

¿Cómo llego pipal trabajo sin tener que reinstalar todo en una ruta sin espacios?

Archimedix
fuente
1
¿Has intentado usar nombres de ruta cortos para archivos de programa (X86)? por ejemplo, "C: \ PROGRA ~ 2 \ Python33 \ python.exe"
Shadow9043
44
El problema es que cuando pipse instala, usará el nombre largo original que obtiene del sistema. Vea mi respuesta a continuación.
Archimedix
2
Reproducible con Python 2.7 y Windows 10 Preview build 10074
Csaba Toth
2
@CsabaToth, tengo que corregir su edición: las comillas dobles eran correctas como estaban antes de su cambio; que eran simplemente omitiendo las comillas simples: El error es textualmente: Fatal error in launcher: Unable to create process using '""C:\Program Files (x86)\Python33\python.exe"" "C:\Program Files (x86)\Python33\Scripts\pip.exe" '. Parece extraño, pero es así.
Archimedix
Estaba usando Powershell (Admin) y funciona en el primer intento.
Aakash Choubey

Respuestas:

455

parece que

python -m pip install XXX 

funcionará de todos modos (funcionó para mí) (ver enlace por usuario474491 )

usuario4154243
fuente
99
Lo convirtió en la respuesta aceptada, aunque es más una solución (o un enfoque alternativo) que una solución real, pero de todos modos, es más universalmente aplicable.
Archimedix
2
@ user4154243, eso funciona, pero ¿puedes explicar lo que realmente hace? ¿Hay consecuencias al usar eso para instalar cualquier otra biblioteca?
multigoodverse
1
me salvaste, estaba tratando de configurar oddo y su necesidad de configurar python. Intenté 5 6 hrs por el mismo problema, finalmente fue su idea. muchas gracias. También agrego mi respuesta para el trabajo relacionado con oddo.
Ajay2707
1
Tuve este problema en un virtualenv, usé su solución para instalar el último pip, que luego permitió el uso del comando normalmente: python -mpip install pip --upgrade
tr00st
44
esta es una solución alternativa y no debería ser la respuesta aceptada
Raiden Core
75

Al menos en Windows, pipalmacena la ruta de ejecución en el ejecutable pip.execuando está instalado.

Edite este archivo usando un editor hexadecimal o WordPad (debe guardarlo como texto sin formato para conservar los datos binarios), cambie la ruta a Python con comillas y espacios como este:

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

a una ruta de escape sin espacios y comillas y relleno con espacios (los puntos al final deben ser espacios):

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

Para "C: \ Archivos de programa", esta ruta probablemente sea "C: \ Progra ~ 1" (los nombres de ruta abreviados en notación DOS / Windows 3.x usan tilde y números). Windows proporciona esta notación alternativa para compatibilidad con versiones anteriores de aplicaciones DOS / Windows 3.x.

Tenga en cuenta que como se trata de un archivo binario, no debe cambiar el tamaño del archivo que puede romper el archivo ejecutable, de ahí el relleno.

Ahorre con privilegios de administrador, asegúrese de que realmente esté guardado en la ubicación de destino e intente nuevamente.

Es posible que también deba establecer la PATHvariable para usar la ~notación para la ruta pip.

Archimedix
fuente
1
No quise decir la variable de entorno. Solo quise decir dónde apareció esta cadena; "#!"C:\Program Files (x86)\Python33\python.exe"pude averiguar dónde estaba, aunque usando un editor hexadecimal. Sin embargo, usando Sublime Text no se veía esa cadena. ¿Puedes pensar en alguna razón por la cual la ruta se muestra en Wordpad y no en Sublime Text?
Sohaib
2
WordPad es un editor de texto tonto, Sublime es probablemente demasiado inteligente y muestra un volcado hexadecimal de los contenidos, supongo.
Archimedix
66
Esto funcionó para mí. Mi cadena original era #!"C:\Program Files\Python3.4\python.exe", así que la cambié #!C:\Progra~1\Python3.4\python.exe y funcionó. Pude editar bien el archivo con Notepad ++. Esta cadena aparece cerca del final del archivo, al final de una línea larga.
Scott Weldon
3
Esto funcionó. Simplemente desinstalé Python. Luego reinstalado; Al reinstalar, acabo de cambiar la carpeta de instalación de C:\Program Files (x86)\Python34ser C:\Progra~2\Python34. (si no desea tratar con un editor hexadecimal o cambiar un archivo binario)
Trent
2
"Al menos en Windows, pip almacena la ruta de ejecución en el archivo ejecutable pip.exe cuando está instalado". Ahora ESO es estúpido. Me costó media hora resolver eso.
bloquea el
36

teniendo el mismo problema que leí en https://pip.pypa.io/en/latest/installing.html#install-pip que para actualizar pip es:

python -m pip install -U pip

Entonces hice (por ejemplo)

python -m pip install virtualenv

¡Y funcionó! Para que pueda hacer lo mismo siendo 'virtualenv' otro paquete que desee.

MiguelCldn
fuente
44
¡Estaba sufriendo el error mencionado y esta fue la solución que funcionó para mí! Incluso pude usar 'pip install virtualenv' y dejar de usar 'python -m pip' después de hacer la actualización a la última pip. ¡Gracias!
steve-gregory
18

python -m pip

realmente funciona para el problema. Fatal error in launcher: Unable to create process using '"'Trabajó en Windows 10

Joel K Thomas
fuente
16

Tuve un problema similar y pip de actualización me lo solucionó.

python -m pip install --upgrade pip 

Esto estaba en Windows y la ruta a python dentro de pip.exe era incorrecta. Consulte la respuesta de Archimedix para obtener más información sobre la ruta.

Johan Gov
fuente
2
¡Gracias! Es posible que deba agregar: --force
Masood Lapeh
Ya tenía instalada la versión más nueva. Usé python -m pip install pip == 9.0.0 para ir a una versión anterior y luego actualizar para arreglar pip.exe
Stefan
5

Así es como lo resolví:

  1. abrir pip.exeen 7zip y extraer __main__.pya la carpeta Python \ Scripts.

    En mi caso fue C:\Program Files (x86)\Python27\Scripts

  2. Renombrar __main__.pyapip.py

  3. ¡Ejecutarlo! python pip.py install something

EDITAR:

Si quieres poder hacerlo pip install somethingdesde cualquier lugar, haz esto también:

  1. cambie el nombre de pip.py a pip2.py (para evitar errores de importación de pip)

  2. hacer C:\Program Files (x86)\Python27\pip.batcon los siguientes contenidos:

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

  1. agregar C:\Program Files (x86)\Python27a su RUTA (si aún no lo está)

  2. ¡Ejecutarlo! pip install something

manzana16
fuente
4

Este es un error conocido cuando hay un espacio en el virtualenvcamino. Se han realizado correcciones y estarán disponibles en la próxima versión.

usuario474491
fuente
55
El error Pip ahora se ha solucionado. Actualización ejecutandopython -m pip install -U pip
StuartLC
13
No, a partir de ahora, Python34 todavía tiene el error.
Martin F
Sigue siendo un problema: Python36
Masood Lapeh
1
sigue siendo un problema: Python37
jmn
todavía tiene el problema: python 3.6.6
user2386301
3

Tuve el mismo problema e hice una actualización de pip usando siguiente y ahora funciona bien. python -m pip install --upgrade pip

Amardev Joynauth
fuente
2

Escribí un script para parchear esos exe. Pero la mejor manera es arreglar distutil por sí mismo.

"""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
fuente
1
Tuve el error "No se puede crear el proceso" cuando intenté ejecutar eb.exe (parte de la CLI de AWS Elastic Beanstalk) y este pequeño script solucionó eb.exe. Funciona ahora, gracias.
JustAC0der
Esto funcionó para mí, pero solo después de cambiar el código para que coincida con la longitud de real_int_path con int_path. Lo rellené con espacios como lo sugiere la respuesta de Archimedix.
lou
2

Tuve el mismo problema en Windows 10, después de probar toda la solución anterior, el problema persiste, así que decidí desinstalar mi python 2.7 e instalar la versión 2.7.13 y funciona perfectamente.

Badr Bellaj
fuente
2

Esto puede suceder si está utilizando un sistema de archivos que distingue entre mayúsculas y minúsculas en Windows. Puede saber si este es el caso si hay un libdirectorio y un Libdirectorio en su venvdirectorio:

> 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

Para solucionar esto (hasta que virtualenv.pyse solucione: https://github.com/pypa/virtualenv/issues/935 ) combine los dos directorios lib y venvno distinga entre mayúsculas y minúsculas:

cd venv
move Lib rmthis
move .\rmthis\site-packages\ lib
rmdir rmthis
fsutil.exe file setCaseSensitiveInfo . disable
cdjc
fuente
No tenía un directorio 'Lib' y 'lib', pero aún me encontré con este problema. Puede usar lo siguiente para determinar directamente si el directorio venv distingue entre mayúsculas y minúsculas fsutil.exe file queryCaseSensitiveInfo .venv. Se puede encontrar información adicional sobre sistemas de archivos sensibles a mayúsculas y minúsculas en Windows en devblogs.microsoft.com/commandline/…
CodeButcher
1

Por favor agregue esta dirección:

C: \ Archivos de programa (x86) \ Python33

en Windows PATH Variable

Aunque primero asegúrese de que esta sea la carpeta donde reside el archivo Python exe, luego solo agregue esta ruta a la variable PATH.

Para agregar direcciones en la variable PATH, vaya a

Panel de control -> Sistemas -> Configuración avanzada del sistema -> Variables de entorno -> Variables del sistema -> Ruta -> Editar ->

Luego agregue la ruta mencionada anteriormente y haga clic en Guardar

Samik Banerjee
fuente
1

Me cambió el nombre del ejecutable de python.exea, por ejemplo python27.exe. Con respecto a la respuesta de Archimedix , abrí mi pip.exe con un editor hexadecimal, me desplacé hasta el final del archivo y cambié python.exela ruta a python27.exe. Mientras edita make shure, no anula otras informaciones.

Markus Weber
fuente
1

Agregué mi respuesta porque recibí el mismo error al configurar el código fuente ODDO9 en local y es necesario que el exe se ejecute mientras se ejecuta exe, obtuve el mismo error.

Desde ayer estaba configurando oddo 9.0 (sección: - "Dependencias de Python listadas en el archivo require.txt ") y su necesidad de ejecutar PIP exe como

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

Mi ruta oddo es: - D: \ Archivos de programa (x86) \ Odoo 9.0-20151014 Mi ubicación de pip es: - D: \ Archivos de programa (x86) \ Python27 \ Scripts \ pip.exe

Así que abro el símbolo del sistema y voy a la ruta anterior de oddo e intento ejecutar pip exe con esta combinación, pero no siempre aparece el error anterior.

  1. D: \ Archivos de programa (x86) \ Python27 \ Scripts \ pip.exe install -r require.txt
  2. "D: \ Archivos de programa (x86) \ Python27 \ Scripts \ pip.exe install -r require.txt" Python27 \ Scripts \ pip.exe install -r require.txt

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

Resolví mi problema con la respuesta @ user4154243, gracias por eso.

Paso 1: Agregar variable (si su ruta no viene en la ruta de la variable).

Paso 2: vaya al símbolo del sistema, abra la ruta del oddo donde instaló.

Paso 3: ejecutar este comando python -m pip install XXXejecutará e instalará las cosas.

Ajay2707
fuente
1

resuelvo mi problema en Windows si instalas python2 y python3

necesita ingresar a alguien \ Las secuencias de comandos cambian todo file.exe a file27.exe , luego se resuelve

mi D: \ Python27 \ Scripts edita django-admin.exe a django-admin27.exe para que así sea

decemer
fuente
Bienvenido a SO. Busque formateando su respuesta en la sección de ayuda.
Richard Erickson el
1

Mi problema exacto fue (Error grave en el iniciador: no se puede crear el proceso usando '"') en Windows 10. Así que navegué a" C: \ Python33 \ Lib \ site-packages "y eliminé la carpeta django y las carpetas pip y luego reinstalé django usando pip y mi problema fue resuelto.

Norman Pilusa
fuente
1

Elegí instalar Python para Windows (64 bits) no para todos los usuarios, sino solo para mí.

Reinstalar Python-x64 y marcar la opción avanzada "para todos los usuarios" resolvió el problema de pip para mí.

Riki137
fuente
1

Así es como lo arreglé.

  1. Descargar https://bootstrap.pypa.io/get-pip.py
  2. Active su vitualenv
  3. Navegue hasta el archivo get-pip.py y escriba "python get-pip.py" sin comillas.

reinstalará su pip en el entorno y desinstalará la versión anterior automáticamente.

ahora boom !! instala lo que quieras

Mahabub Rahman
fuente
0

Intente reinstalar usando el siguiente enlace,

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

Después de la descarga, copie "get-pip.py" en el directorio principal instalado de Python, luego abra cmd y navegue al directorio de python y escriba "python get-pip.py" (sin comillas)

Nota: Asegúrese también de que el directorio de Python esté configurado en la variable de entorno.

Espero que esto pueda ayudar.

MS Arun
fuente
0

Para mí, este problema apareció cuando cambié la ruta del entorno para señalar v2.7 que inicialmente apuntaba a v3.6 . Después de eso, para ejecutar comandos pip o virtualenv , tuve que hacerlo python -m pip install XXXcomo se menciona en las respuestas a continuación.

Entonces, para deshacerme de esto, volví a ejecutar el instalador v2.7 , elegí la opción de cambio y me aseguré de que, la opción Agregar a la ruta estaba habilitada y dejé que se ejecutara el instalador. Después de eso todo funciona como debería.

MrClan
fuente
0

Tuve este problema y las otras soluciones en esta página no resolvieron completamente el problema.

Lo que resolvió el problema fue ingresar a las variables de entorno de mi sistema y mirar la RUTA: había desinstalado Python 3 pero la ruta anterior a la carpeta Python 3 todavía estaba allí. Solo estoy ejecutando Python 2 en mi PC y usé Python 2 para instalar pip.

Eliminar las referencias a las carpetas inexistentes de Python 3 de PATH, además de actualizar a la última versión de pipsolucionó el problema.

Axesilo
fuente
0

Tenía una solución más simple. Usando la forma @apple pero cambie el nombre de .py principal a pip.py, luego póngalo en la carpeta de scripts de la versión de Python y agregue la carpeta de scripts a su ruta de acceso globalmente. si no desea agregarlo a la ruta, debe cd a scripts y luego ejecutar el comando pip.

Sahib Khan
fuente
0

En Windows resolví este problema de la siguiente manera:

1) Python desinstalado

2) navegado a C:\Users\MyName\AppData\Local\Programs(debe activar la visibilidad de archivos ocultos Mostrar instrucciones de archivos ocultos )

3) carpeta eliminada 'Python'

4) Python instalado

lado oscuro
fuente
Estoy en Windows 10. Copié la carpeta de Python y la sobrescribí en una computadora nueva para ahorrar tiempo al instalar todo de más de 800 MBytes. Esto funcionó bien antes, pero de alguna manera no esta vez. Intenté todo aquí, solo la solución definitiva de Darkside funciona para mí.
HCChen
0

Tengo un problema similar cuando reinstalo mi python, desinstalando python3.7 e instalando python3.8. Pero lo resolví eliminando la versión anterior del directorio python. Para mí estaba ubicado aquí,

C: \ Users \ your-username \ AppData \ Local \ Programs \ Python

Eliminé la carpeta llamada Python37 (para la versión anterior) y mantengo Python38 (para la versión actualizada) . Esto funcionó porque Python en sí parece tener problemas para encontrar el directorio correcto para sus scripts de Python.

Rey
fuente
0

Intenté instalar algunos paquetes de sitio como numpy, xgboost, etc., pero este error apareció cada vez:

Fatal error in launcher: Unable to create process using

He intentado muchas formas de resolver este problema y encontré este, que me ayudó con éxito:

python -m pip freeze

Espero que ayude a alguien también.

PD: encontré esta solución aquí: https://stackoverflow.com/a/39733705/10310794

Roman Voyt
fuente
0

Puede eliminar la carpeta anterior de Python y también la ruta variable de entorno de su PC y luego reinstalar python .it se resolverá

usuario8099291
fuente
-2

En lugar de llamar a ipython directamente, se carga usando Python como

$ python "ruta completa a ipython.exe"

Stephen Kim
fuente