Неустранимая ошибка в средстве запуска: невозможно создать процесс, используя «» C: \ Program Files (x86) \ Python33 \ python.exe «» C: \ Program Files (x86) \ Python33 \ pip.exe «»


211

При поиске в сети это кажется проблемой, вызванной пробелами в пути установки Python.

Как мне начать pipработать без переустановки всего пути без пробелов?


1
Вы пытались использовать короткие пути к программным файлам (X86)? например, "C: \ PROGRA ~ 2 \ Python33 \ python.exe"
Shadow9043

4
Проблема в том, что при pipустановке он будет использовать оригинальное, длинное имя, полученное из системы. Смотрите мой ответ ниже.
Архимедикс

2
Воспроизводится с Python 2.7 и Windows 10 Preview build 10074
Csaba Toth

2
@ CsabaToth, я должен исправить ваше редактирование: двойные кавычки были правильными, какими они были до вашего изменения; они просто опуская одиночные кавычки: Стенографический ошибка: Fatal error in launcher: Unable to create process using '""C:\Program Files (x86)\Python33\python.exe"" "C:\Program Files (x86)\Python33\Scripts\pip.exe" '. Выглядит странно, но так оно и есть.
Archimedix

Я использовал Powershell (Admin), и он работает с первого раза.
Аакаш Чуби

Ответы:


455

Кажется, что

python -m pip install XXX 

все равно будет работать (работал для меня) (см. ссылку на user474491 )


9
Сделал это принятым ответом, хотя это скорее обходной путь (или альтернативный подход), чем реальное исправление, но в любом случае, он более универсален.
Архимедикс

2
@ user4154243, это работает, но можете ли вы объяснить, что это на самом деле? Существуют ли последствия использования этого для установки любой другой библиотеки?
MultiGoodverse

1
Вы спасли меня, я пытался настроить Oddo и его необходимо настроить Python. Я пытался 5 6 часов для того же вопроса, наконец, его работа от вашей идеи. Большое спасибо. Я также добавляю свой ответ для работы, связанной с oddo.
Ajay2707

1
Если бы эта проблема была в virtualenv, то использовала ваше решение для установки последней версии pip, которая затем позволила использовать команду в обычном режиме: python -mpip install pip --upgrade
tr00st

4
это обходной путь и не должен быть принятым ответом
Raiden Core

75

По крайней мере, в Windows pipсохраняет путь выполнения в исполняемом файле, pip.exeкогда он установлен.

Отредактируйте этот файл с помощью шестнадцатеричного редактора или WordPad (вы должны сохранить его в виде обычного текста, чтобы сохранить двоичные данные), измените путь к Python с кавычками и пробелами, например так:

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

на экранированный путь без пробелов и кавычек и пробел с пробелами (точки в конце должны быть пробелами):

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

Для «C: \ Program Files» этот путь, вероятно, будет «C: \ Progra ~ 1» (сокращенные имена путей в нотации DOS / Windows 3.x используют тильду и числа). Windows предоставляет эту альтернативную нотацию для обратной совместимости с приложениями DOS / Windows 3.x.

Обратите внимание, что, поскольку это двоичный файл, вы не должны изменять размер файла, который может испортить исполняемый файл, а следовательно, заполнение.

Сохраните с правами администратора, убедитесь, что он действительно сохранен в целевом местоположении, и повторите попытку.

Вам также может понадобиться установить PATHпеременную, чтобы использовать ~нотацию для пути к pip.


1
Я не имел ввиду переменную окружения. Я имел в виду только, где появилась эта строка, но "#!"C:\Program Files (x86)\Python33\python.exe"я смог узнать, где она была, используя шестнадцатеричный редактор. Однако при использовании Sublime Text такая строка не была видна. Можете ли вы вспомнить причину, по которой путь отображается в Wordpad, а не в Sublime Text?
Сохаиб

2
WordPad - глупый текстовый редактор, Sublime, вероятно, слишком умен и, я думаю, показывает шестнадцатеричный дамп содержимого.
Архимедикс

6
Это сработало для меня. Моя оригинальная строка была #!"C:\Program Files\Python3.4\python.exe", поэтому я изменил ее, #!C:\Progra~1\Python3.4\python.exe и она сработала. Я смог отредактировать файл нормально с помощью Notepad ++. Эта строка отображается в конце файла, в конце длинной строки.
Скотт Уэлдон

3
Это сработало. Я просто удалил питона. Затем переустановил; после переустановки я просто изменил папку установки с C:\Program Files (x86)\Python34на C:\Progra~2\Python34. (если вы не хотите иметь дело с шестнадцатеричным редактором или изменением двоичного файла)
Трент,

2
«По крайней мере, в Windows pip сохраняет путь выполнения в исполняемом файле pip.exe, когда он установлен». Теперь это глупо. Мне стоило полчаса, чтобы понять это.
выходит

36

у меня возникли те же проблемы, что я прочитал в https://pip.pypa.io/en/latest/install.html#install-pip , чтобы обновить pip:

python -m pip install -U pip

Так я и сделал (например)

python -m pip install virtualenv

И это сработало! Таким образом, вы можете сделать то же самое, будучи «virtualenv», другой пакет, который вы хотите.


4
Я страдал от ошибки, перечисленной, и это было решение, которое работало для меня! Я даже смог использовать 'pip install virtualenv' и перестать использовать 'python -m pip' после обновления до последней версии pip. Спасибо!
Стив-Грегори

18

python -m pip

действительно работает для проблемы. Fatal error in launcher: Unable to create process using '"'Работает на Windows 10


16

У меня была похожая проблема, и обновление пипа исправило ее для меня.

python -m pip install --upgrade pip 

Это было в Windows, и путь к python внутри pip.exe был неверным. Посмотрите ответ Archimedix для получения дополнительной информации о пути.


2
Спасибо! Вам может понадобиться добавить:
--force

У меня уже была установлена ​​последняя версия. Использовал python -m pip install pip == 9.0.0, чтобы перейти на старую версию, а затем выполнить обновление, чтобы исправить pip.exe
Stefan

5

Вот как я это решил:

  1. открыть pip.exeв 7zip и распаковать __main__.pyв папку Python \ Scripts.

    В моем случае это было C:\Program Files (x86)\Python27\Scripts

  2. Переименовать __main__.pyвpip.py

  3. Запустить его! python pip.py install something

РЕДАКТИРОВАТЬ:

Если вы хотите быть в состоянии сделать это pip install somethingиз любого места, сделайте это тоже:

  1. переименуйте pip.py в pip2.py (чтобы избежать ошибок импорта pip)

  2. сделать C:\Program Files (x86)\Python27\pip.batсо следующим содержанием:

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

  1. добавить C:\Program Files (x86)\Python27в свой путь (если еще нет)

  2. Запустить его! pip install something


4

Это известная ошибка, когда в пути есть пробел virtualenv. Исправление было сделано, и будет доступно в следующей версии.


5
Ошибка Пипса была исправлена. Обновление запущеноpython -m pip install -U pip
StuartLC

13
Нет, на данный момент, Python34, все еще имеет ошибку!
Мартин Ф

Еще проблема: Python36
Masood Lapeh

1
еще вопрос: Python37
jmn

все еще есть проблема: python 3.6.6
user2386301

3

У меня была та же проблема, и я сделал обновление на pip, используя следующее, и теперь он работает нормально. python -m pip install --upgrade pip


2

Я написал скрипт для исправления этих exe. Но лучший способ - это исправить дистуутил сам.

"""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
У меня была ошибка «Невозможно создать процесс», когда я пытался запустить eb.exe (часть AWS Elastic Beanstalk CLI), и этот маленький скрипт исправил eb.exe! Это работает сейчас, спасибо.
JustAC0der

Это сработало для меня, но только после изменения кода, чтобы он соответствовал длине от real_int_path с int_path. Я дополнил его пробелами, как подсказывает ответ от Archimedix.
Лу

2

У меня была та же проблема на Windows 10, после попытки все предыдущие решения проблема сохраняется, поэтому я решил удалить свой Python 2.7 и установить версию 2.7.13, и она работает отлично.


2

Это может произойти, если вы используете файловую систему с учетом регистра в Windows. Вы можете сказать, так ли это, если в вашем каталоге есть и libкаталог, и каталог: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

Чтобы обойти это (пока не virtualenv.pyбудет исправлено: https://github.com/pypa/virtualenv/issues/935 ) объедините две директории lib и сделайте venvбез учета регистра:

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

У меня не было каталогов 'Lib' и 'lib', но я все еще сталкивался с этой проблемой. Вы можете использовать следующее, чтобы напрямую определить, является ли каталог venv чувствительным к регистру fsutil.exe file queryCaseSensitiveInfo .venv. Дополнительную информацию о чувствительных к регистру файловых системах в Windows можно найти по адресу devblogs.microsoft.com/commandline/…
CodeButcher

1

Пожалуйста, добавьте этот адрес:

C: \ Program Files (x86) \ Python33

в Windows переменная PATH

Хотя сначала убедитесь, что это папка, в которой находится исполняемый файл Python, только добавьте этот путь в переменную PATH.

Чтобы добавить адреса в переменную PATH, перейдите по ссылке

Панель управления -> Системы -> Расширенные настройки системы -> Переменные среды -> Системные переменные -> Путь -> Редактировать ->

Затем добавьте вышеупомянутый путь и нажмите Сохранить


1

Я переименовал исполняемый файл python.exeв eg python27.exe. Что касается ответа Archimedix, я открыл свой pip.exe с помощью Hex-редактора , прокрутил до конца файла и изменил python.exeпуть к python27.exe. Во время редактирования убедитесь, что вы не перекрываете другую информацию.


1

Я добавил свой ответ, потому что я получаю ту же ошибку при настройке исходного кода ODDO9 на локальном компьютере, и мне нужен exe для запуска во время выполнения exe, я получил ту же ошибку.

Со вчерашнего дня я был настроить oddo 9.0 (раздел: - «Зависимости Python, перечисленные в файле needs.txt .») И его необходимость запускать PIP exe как

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

Мой путь oddo: - D: \ Program Files (x86) \ Odoo 9.0-20151014 Мое расположение в пипсах: - D: \ Program Files (x86) \ Python27 \ Scripts \ pip.exe

Поэтому я открываю командную строку и перехожу к указанному выше пути oddo и пытаюсь запустить pip exe с этой комбинацией, но не всегда с ошибкой выше.

  1. D: \ Program Files (x86) \ Python27 \ Scripts \ pip.exe install -r needs.txt
  2. "D: \ Program Files (x86) \ Python27 \ Scripts \ pip.exe install -r82.txt" Python27 \ Scripts \ pip.exe install -r82.txt

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

Я решил свою проблему с помощью ответа @ user4154243, спасибо за это.

Шаг 1: Добавьте переменную (если ваш путь не входит в путь переменной).

Шаг 2: Перейдите в командную строку, откройте путь oddo, где вы установили.

Шаг 3: запустите эту команду python -m pip install XXX, запустите и установите вещи.


1

я решаю свою проблему в окне, если вы установите оба Python2 и Python3

вам нужно ввести кого-то \ Scripts изменить все file.exe на file27.exe , а затем решить

my D: \ Python27 \ Scripts редактировать django-admin.exe в django-admin27.exe, чтобы это было сделано


Добро пожаловать в ТАК. Пожалуйста, посмотрите форматирование вашего ответа в разделе справки.
Ричард Эриксон

1

Моя точная проблема была (Неустранимая ошибка в панели запуска: невозможно создать процесс с использованием '' ') в Windows 10. Поэтому я перешел в «C: \ Python33 \ Lib \ site-packages» и удалил папку django и папки pip, а затем переустановил django используя pip и моя проблема была решена.


1

Я решил установить Python для Windows (64bit) не для всех пользователей, а только для себя.

Переустановка Python-x64 и проверка расширенной опции «для всех пользователей» решили проблему pip для меня.


1

Вот как я это исправил.

  1. Скачать https://bootstrap.pypa.io/get-pip.py
  2. Активный ваш vitualenv
  3. Перейдите к файлу get-pip.py и введите «python get-pip.py» без кавычек.

он переустановит ваш pip в среде и автоматически удалит предыдущую версию.

сейчас бум !! установить все что угодно


0

Попробуйте переустановить, используя ссылку ниже,

Скачать https://bootstrap.pypa.io/get-pip.py

После загрузки скопируйте «get-pip.py» в основной каталог Python, затем откройте cmd и перейдите в каталог python и введите «python get-pip.py» (без кавычек)

Примечание: Также убедитесь, что каталог python установлен в переменной среды.

Надеюсь, это поможет.


0

Для меня эта проблема появилась, когда я изменил путь среды, чтобы указать на v2.7, который первоначально указывал на v3.6 . После этого, чтобы выполнить команды pip или virtualenv , я должен был, python -m pip install XXXкак указано в ответах ниже.

Итак, чтобы избавиться от этого, я снова запустил установщик v2.7 , выбрал опцию change и удостоверился, что опция add to path включена, и позволил инсталлятору работать. После этого все работает как надо.


0

У меня была эта проблема, и другие исправления на этой странице не решили ее полностью.

Что решило проблему, так это перейти к переменным среды моей системы и посмотреть на PATH - я удалил Python 3, но старый путь к папке Python 3 все еще был там. Я использую только Python 2 на своем ПК и использую Python 2 для установки pip.

Удаление ссылок на несуществующие папки Python 3 из PATH в дополнение к обновлению до последней версии pipустраняет проблему.


0

У меня было более простое решение. Используя способ @apple, но переименуйте основной .py в pip.py, затем поместите его в папку сценариев версии Python и добавьте папку сценариев в свой путь, чтобы получить к ней глобальный доступ. если вы не хотите добавлять его в путь, вам нужно перейти к скрипту и запустить команду pip.


0

В Windows я решил эту проблему следующим образом:

1) удаленный Python

2) перешел к C:\Users\MyName\AppData\Local\Programs(необходимо включить видимость скрытых файлов Показать инструкцию по скрытым файлам )

3) удалена папка "Python"

4) установлен Python


Я на Windows 10. Я скопировал папку python и переписал на новый компьютер, чтобы сэкономить время от установки всего более 800 МБ. Раньше это работало нормально, но как-то не в этот раз. Я попробовал все здесь, только окончательное решение Darkside работает для меня.
HCChen

0

У меня похожая проблема, когда я переустанавливаю свой python, удаляя python3.7 и устанавливая python3.8. Но я решил это, удалив предыдущую версию каталога python. Для меня это было расположено здесь,

C: \ Users \ Ваше имя пользователя-\ AppData \ Local \ Programs \ Python

Я удалил папку с именем Python37 (для предыдущей версии) и сохранил Python38 (для обновленной версии) . Это сработало, потому что сам Python, похоже, испытывает проблемы с поиском подходящего каталога для ваших сценариев Python.


0

Я пытался установить некоторые пакеты сайта, такие как numpy, xgboost и так далее, но эта ошибка появлялась каждый раз:

Fatal error in launcher: Unable to create process using

Я перепробовал много способов решить эту проблему и нашел тот, который мне успешно помог:

python -m pip freeze

Надеюсь, это кому-то тоже поможет.

PS Я нашел это решение здесь: https://stackoverflow.com/a/39733705/10310794


0

Вы можете удалить предыдущую папку python, а также путь к переменной окружения с вашего компьютера, после чего переустановить python.


-2

Вместо непосредственного вызова ipython, он загружается с использованием Python, например:

$ python "полный путь к ipython.exe"

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.