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

211

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

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

Archimedix
источник
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 )

user4154243
источник
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.

Archimedix
источник
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», другой пакет, который вы хотите.

MiguelCldn
источник
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

apple16
источник
4

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

user474491
источник
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:])
krrr
источник
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
cdjc
источник
У меня не было каталогов '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, запустите и установите вещи.

Ajay2707
источник
1

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

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

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

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

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

Норман Пилуса
источник
1

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

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

Riki137
источник
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 включена, и позволил инсталлятору работать. После этого все работает как надо.

MrClan
источник
0

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

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

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

Axesilo
источник
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.

user8099291
источник
-2

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

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

Стивен Ким
источник