Erro fatal no iniciador: Não foi possível criar o processo usando “” C: \ Arquivos de Programas (x86) \ Python33 \ python.exe “” C: \ Arquivos de Programas (x86) \ Python33 \ pip.exe “”

211

Pesquisando na rede, isso parece ser um problema causado por espaços no caminho da instalação do Python.

Como faço pippara trabalhar sem precisar reinstalar tudo em um caminho sem espaços?

Archimedix
fonte
1
Você já tentou usar nomes de caminho curtos para arquivos de programa (X86)? por exemplo, "C: \ PROGRA ~ 2 \ Python33 \ python.exe"
Shadow9043
4
O problema é que, quando pipinstalado, ele usará o nome longo e original que ele recebe do sistema. Veja minha resposta abaixo.
Archimedix
2
Reproduzível com Python 2.7 e Windows 10 Pré-Visualização construção 10074
Csaba Toth
2
@CsabaToth, preciso corrigir sua edição: as aspas duplas estavam corretas como antes da sua alteração; eles estavam apenas omitindo as aspas simples: O erro na íntegra é: 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 estranho, mas é assim que é.
Archimedix
Eu estava usando o Powershell (Admin) e ele funciona na primeira vez.
Aakash Choubey

Respostas:

455

parece que

python -m pip install XXX 

funcionará de qualquer maneira (funcionou para mim) (veja o link pelo user474491 )

user4154243
fonte
9
Tornou a resposta aceita, embora seja mais uma solução alternativa (ou abordagem alternativa) do que uma correção real, mas, de qualquer forma, é mais universalmente aplicável.
Archimedix
2
@ user4154243, funciona, mas você pode explicar o que realmente faz? Existem consequências usando isso para instalar todas as outras bibliotecas?
multigoodverse
1
você me salvou, eu estava tentando configurar o oddo e sua necessidade de configurar o python. Eu estava tentando 5 6 horas para o mesmo problema, finalmente o seu trabalho a partir de sua idéia. muito obrigado. Também adiciono minha resposta para trabalhos relacionados ao oddo.
Ajay2707
1
Tive esse problema em um virtualenv, usado a sua solução para instalar a última semente, que então permitiu o uso do comando normalmente: python -mpip instalar pip --upgrade
tr00st
4
Esta é uma solução e não deve ser a resposta aceito
Raiden Núcleo
75

No Windows, pelo menos, piparmazena o caminho de execução no executável pip.exequando está instalado.

Edite esse arquivo usando um editor hexadecimal ou o WordPad (você deve salvá-lo como texto sem formatação e depois reter dados binários), altere o caminho para Python com aspas e espaços como este:

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

para um caminho de escape sem espaços e aspas e preenchido com espaços (os pontos no final devem ser espaços):

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

Para "C: \ Arquivos de Programas", esse caminho provavelmente seria "C: \ Progra ~ 1" (nomes de caminho abreviados na notação DOS / Windows 3.x usam til e números). O Windows fornece essa notação alternativa para compatibilidade com versões anteriores dos aplicativos DOS / Windows 3.x.

Observe que, como se trata de um arquivo binário, você não deve alterar o tamanho do arquivo que pode danificar o executável, daí o preenchimento.

Salve com privilégios de administrador, verifique se ele está realmente salvo no local de destino e tente novamente.

Você também pode precisar definir a PATHvariável para usar a ~notação para o caminho pip.

Archimedix
fonte
1
Não quis dizer a variável de ambiente. Eu só quis dizer onde essa string apareceu, "#!"C:\Program Files (x86)\Python33\python.exe"fui capaz de descobrir onde estava usando um editor hexadecimal. No entanto, usando o texto sublime, essa sequência não era visível. Você consegue pensar em algum motivo pelo qual o caminho é mostrado no Wordpad e não no texto sublime?
Sohaib 31/07
2
O WordPad é um editor de texto idiota, o Sublime é provavelmente muito inteligente e mostra um despejo hexadecimal do conteúdo, eu acho.
Archimedix
6
Isso funcionou para mim. Minha string original era #!"C:\Program Files\Python3.4\python.exe", então mudei para #!C:\Progra~1\Python3.4\python.exe e funcionou. Consegui editar o arquivo com o Notepad ++. Essa cadeia aparece perto do final do arquivo, no final de uma longa linha.
Scott Weldon
3
Isso funcionou. Eu simplesmente desinstalei o python. Então reinstalado; após a reinstalação, mudei a pasta de instalação de C:\Program Files (x86)\Python34para ser C:\Progra~2\Python34. (se você não quiser lidar com um editor hexadecimal ou alterar um arquivo binário)
Trent
2
"No Windows, pelo menos, o pip armazena o caminho de execução no pip.exe executável quando está instalado." Agora, isso é estúpido -.- Me custou meia hora para descobrir isso.
plocks
36

tendo o mesmo problema que li em https://pip.pypa.io/en/latest/installing.html#install-pip que para atualizar o pip, é:

python -m pip install -U pip

Então eu fiz (por exemplo)

python -m pip install virtualenv

E funcionou! Então você pode fazer o mesmo sendo 'virtualenv' outro pacote que desejar.

MiguelCldn
fonte
4
Eu estava sofrendo com o erro listado e esta foi a solução que funcionou para mim! Eu até consegui usar 'pip install virtualenv' e parar de usar 'python -m pip' depois de fazer a atualização para o pip mais recente. Obrigado!
steve-Gregory
18

python -m pip

realmente funciona para o problema Fatal error in launcher: Unable to create process using '"'.Trabalhado no Windows 10

Joel K Thomas
fonte
16

Eu tive um problema semelhante e a atualização do pip o corrigiu para mim.

python -m pip install --upgrade pip 

Isso estava no Windows e o caminho para o python dentro do pip.exe estava incorreto. Consulte a resposta do Archimedix para obter mais informações sobre o caminho.

Johan Gov
fonte
2
Obrigado! Você pode precisar adicionar: --force
Masood Lapeh 19/10/10
Eu já tinha a versão mais recente instalada. Usado python -m pip instalar pip == 9.0.0 para ir uma versão antiga e de fazer o upgrade para correção pip.exe
Stefan
5

Aqui está como eu resolvi:

  1. abra pip.exeno 7zip e extraia __main__.pypara a pasta Python \ Scripts.

    No meu caso foi C:\Program Files (x86)\Python27\Scripts

  2. Renomeie __main__.pyparapip.py

  3. Executá-lo! python pip.py install something

EDITAR:

Se você quiser fazer pip install somethingde qualquer lugar, faça o seguinte:

  1. renomeie pip.py para pip2.py (para evitar erros de importação)

  2. faça C:\Program Files (x86)\Python27\pip.batcom o seguinte conteúdo:

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

  1. adicione C:\Program Files (x86)\Python27ao seu PATH (se já não estiver)

  2. Executá-lo! pip install something

apple16
fonte
4

Este é um erro conhecido quando há um espaço no virtualenvcaminho. A correção foi feita e estará disponível na próxima versão.

user474491
fonte
5
O bug do Pip foi corrigido. Atualize executandopython -m pip install -U pip
StuartLC
13
Não, a partir de agora, Python34, ainda tem o bug!
Martin F
Ainda um problema: Python36
Masood Lapeh 19/10/10
1
ainda um problema: Python37
jmn 5/1118
ainda tem o problema: python 3.6.6
user2386301 2/19/19
3

Eu tive o mesmo problema e fiz uma atualização pip usando o seguinte e agora funciona bem. python -m pip install --upgrade pip

Amardev Joynauth
fonte
2

Eu escrevi um script para corrigir esses exe. Mas a melhor maneira é consertar o próprio distutil.

"""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
fonte
1
Eu tive o erro "Não foi possível criar o processo" quando tentei executar o eb.exe (parte da CLI do AWS Elastic Beanstalk) e esse pequeno script corrigiu o eb.exe! Funciona agora, obrigado.
precisa saber é o seguinte
Isso funcionou para mim, mas somente depois de alterar o código para corresponder ao comprimento do real_int_path com o int_path. Eu preenchi com espaços, como sugerido pela resposta do Archimedix.
lou
2

Eu tive o mesmo problema no Windows 10, depois de tentar toda a solução anterior, o problema persiste, então decidi desinstalar o python 2.7 e instalar a versão 2.7.13 e ele funciona perfeitamente.

Badr Bellaj
fonte
2

Isso pode acontecer se você estiver usando um sistema de arquivos com distinção entre maiúsculas e minúsculas no Windows. Você pode dizer se esse é o caso, se houver um libdiretório e um Libdiretório em seu venvdiretório:

> 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 isso (até que virtualenv.pyseja corrigido: https://github.com/pypa/virtualenv/issues/935 ), mescle os dois diretórios lib e faça venvdistinção entre maiúsculas e minúsculas:

cd venv
move Lib rmthis
move .\rmthis\site-packages\ lib
rmdir rmthis
fsutil.exe file setCaseSensitiveInfo . disable
cdjc
fonte
Eu não tinha um diretório 'Lib' e 'lib', mas ainda assim encontrei esse problema. Você pode usar o seguinte para determinar diretamente se o diretório venv faz distinção entre maiúsculas e minúsculas fsutil.exe file queryCaseSensitiveInfo .venv. Informações adicionais sobre os sistemas de arquivos que diferenciam
CodeButcher
1

Adicione este endereço:

C: \ Arquivos de programas (x86) \ Python33

na variável PATH do Windows

Embora primeiro verifique se essa é a pasta onde o arquivo exe do Python reside, adicione apenas esse caminho à variável PATH.

Para acrescentar endereços na variável PATH, acesse

Painel de controle -> Sistemas -> Configurações avançadas do sistema -> Variáveis ​​de ambiente -> Variáveis ​​do sistema -> Caminho -> Editar ->

Em seguida, acrescente o caminho mencionado acima e clique em Salvar

Samik Banerjee
fonte
1

I renomeado o executável de python.exea, por exemplo python27.exe. Em relação à resposta do Archimedix , abri meu pip.exe com um editor hexadecimal , rolei até o final do arquivo e alterei python.exeo caminho para python27.exe. Durante a edição, shure, você não substitui outras informações.

Markus Weber
fonte
1

Eu adicionei minha resposta porque estou recebendo o mesmo erro ao configurar o código-fonte ODDO9 no local e é necessário que o exe seja executado enquanto executa o exe, recebi o mesmo erro.

Ontem, eu configurei o oddo 9.0 (seção: - "Dependências do Python listadas no arquivo requirements.txt.") E sua necessidade de executar o PIP exe como

C: \ YourOdooPath> C: \ Python27 \ Scripts \ pip.exe instala -r requirements.txt

Meu caminho oddo é: - D: \ Arquivos de programas (x86) \ Odoo 9.0-20151014 Meu local de pip é: - D: \ Arquivos de programas (x86) \ Python27 \ Scripts \ pip.exe

Então, abro o prompt de comando e vou para o caminho oddo acima e tento executar o pip exe com essas combinações, mas nem sempre com erro acima.

  1. D: \ Arquivos de programas (x86) \ Python27 \ Scripts \ pip.exe install -r requirements.txt
  2. "D: \ Arquivos de programas (x86) \ Python27 \ Scripts \ pip.exe instalam -r requirements.txt" Python27 \ Scripts \ pip.exe instalam -r requirements.txt

  3. "Python27 / Scripts / pip.exe instala -r requirements.txt"

Resolvi meu problema com a resposta @ user4154243, obrigado por isso.

Etapa 1: adicione variável (se o seu caminho não estiver no caminho da variável).

Etapa 2: vá para o prompt de comando, abra o caminho oddo onde você instalou.

Etapa 3: executar este comando python -m pip install XXXserá executado e instalado as coisas.

Ajay2707
fonte
1

eu resolvo meu problema no Windows se você instalar o python2 e python3

u precisa digitar alguem \ Scripts mude todo file.exe para file27.exe , então resolva

meus D: \ Python27 \ Scripts editam django-admin.exe para django-admin27.exe para que seja feito

decemer
fonte
Bem-vindo ao SO. Procure formatar sua resposta na seção de ajuda.
Richard Erickson
1

Meu problema exato era (erro fatal no iniciador: não foi possível criar o processo usando '"') no Windows 10. Então, naveguei para" C: \ Python33 \ Lib \ site-packages "e excluí as pastas django e pip e reinstalei o django usando pip e meu problema foi resolvido.

Norman Pilusa
fonte
1

Eu escolhi instalar o Python para Windows (64 bits) não para todos os usuários, mas apenas para mim.

Reinstalar o Python-x64 e verificar a opção avançada "para todos os usuários" resolveu o problema do pip para mim.

Riki137
fonte
1

Aqui está como eu consertei.

  1. Faça o download https://bootstrap.pypa.io/get-pip.py
  2. Ative seu vitualenv
  3. Navegue até o arquivo get-pip.py e digite "python get-pip.py" sem aspas.

ele reinstalará seu pip dentro do ambiente e desinstalará a versão anterior automaticamente.

agora boom !! instale o que quiser

Mahabub Rahman
fonte
0

Tente reinstalar usando o link abaixo,

Faça o download https://bootstrap.pypa.io/get-pip.py

Após o download, copie o "get-pip.py" para o diretório principal instalado em python, abra o cmd e navegue até o diretório python e digite "python get-pip.py" (sem aspas)

Nota: Verifique também se o diretório python está definido na variável ambiental.

Espero que isso possa ajudar.

MS Arun
fonte
0

Para mim, esse problema apareceu quando mudei o caminho do ambiente para apontar para a v2.7, que estava inicialmente apontando para a v3.6 . Depois disso, para executar comandos pip ou virtualenv , tive que fazer python -m pip install XXXo mencionado nas respostas abaixo.

Portanto, para me livrar disso, executei o instalador v2.7 novamente, escolhi a opção change e verifiquei se a opção add to path estava ativada e deixei o instalador executar. Depois disso, tudo funciona como deveria.

MrClan
fonte
0

Eu tive esse problema e as outras correções nesta página não resolveram completamente o problema.

O que resolveu o problema foi acessar minhas variáveis ​​de ambiente do sistema e examinar o PATH - eu havia desinstalado o Python 3, mas o caminho antigo para a pasta do Python 3 ainda estava lá. Estou executando apenas o Python 2 no meu PC e usei o Python 2 para instalar o pip.

A exclusão das referências para as pastas Python 3 inexistentes do PATH, além da atualização para a versão mais recente, pipcorrigiu o problema.

Axesilo
fonte
0

Eu tinha uma solução mais simples. Usando @apple way, mas renomeie o arquivo .py principal para pip.py, coloque-o na pasta de scripts da versão python e adicione a pasta de scripts ao seu caminho para acessá-lo globalmente. se você não quiser adicioná-lo ao caminho, precisará cd para scripts e, em seguida, execute o comando pip.

Sahib Khan
fonte
0

No Windows, eu resolvi esse problema da seguinte maneira:

1) Python desinstalado

2) navegou para C:\Users\MyName\AppData\Local\Programs(você deve ativar a visibilidade dos arquivos ocultos Mostrar instruções sobre os arquivos ocultos )

3) pasta 'Python' excluída

4) Python instalado

lado escuro
fonte
Estou no Windows 10. Copiei a pasta python e substituí-a em um novo computador para economizar tempo ao instalar tudo com mais de 800 MBytes. Isso funcionou bem antes, mas de alguma forma não desta vez. Eu tentei de tudo aqui, apenas a solução definitiva de Darkside funciona para mim.
HCChen
0

Tenho um problema semelhante ao reinstalar o python, desinstalando o python3.7 e instalando o python3.8. Mas eu resolvi removendo a versão anterior do diretório python. Para mim, foi localizado aqui,

C: \ Usuários \ seu nome de usuário \ AppData \ Local \ Programas \ Python

Excluí a pasta chamada Python37 (para a versão anterior) e mantenho o Python38 (para a versão atualizada) . Isso funcionou porque o próprio python parece ter problemas para encontrar o diretório certo para seus scripts python.

Rei
fonte
0

Eu estava tentando instalar alguns pacotes de sites como numpy, xgboost e assim por diante, mas esse erro aparecia sempre:

Fatal error in launcher: Unable to create process using

Eu tentei várias maneiras de resolver esse problema e encontrei este, que me ajudou com sucesso:

python -m pip freeze

Espero que ajude alguém também.

PS Encontrei esta solução aqui: https://stackoverflow.com/a/39733705/10310794

Roman Voyt
fonte
0

Você pode remover a pasta python anterior e também o caminho da variável de ambiente do seu PC, em seguida, reinstalar o python .it será resolvido

user8099291
fonte
-2

Em vez de chamar o ipython diretamente, ele é carregado usando Python, como

$ python "caminho completo para o ipython.exe"

Stephen Kim
fonte