Фатальна помилка в запуску: неможливо створити процес за допомогою "" 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" '. Виглядає дивно, але так воно і є.
Архімедікс

Я використовував Powershell (Адміністратор), і він працює з першого походу.
Аакаш Чубі

Відповіді:


455

здається, що

python -m pip install XXX 

буде працювати в будь-якому випадку (працював для мене) (див. посилання від користувача474491 )


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: \ програмних файлів" цей шлях, ймовірно, буде "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, а не в піднесеному тексті?
Sohaib

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/installing.html#install-pip, що для оновлення pip це:

python -m pip install -U pip

Так я зробив (наприклад)

python -m pip install virtualenv

І це спрацювало! Таким чином, ви можете зробити те ж саме, що "віртуален" іншим пакетом, який хочете.


4
Я страждав від перелічених помилок, і це рішення, яке працювало на мене! Мені навіть вдалося використати 'pip install virtualenv' і перестати використовувати 'python -m pip' після оновлення до останнього pip. Дякую!
steve-gregory

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 був неправильним. Див. Відповідь Архімедікса для отримання додаткової інформації про шлях.


2
Дякую! Можливо, вам потрібно буде додати: --force
Masood Lapeh

У мене вже була встановлена ​​найновіша версія. Використовували python -m pip install pip == 9.0.0, щоб перейти на стару версію, а потім зробити оновлення, щоб виправити pip.exe
Стефан

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
Тепер помилка Pip ВІДКЛЮЧЕНО. Оновлення запустившиpython -m pip install -U pip
StuartLC

13
Ні, станом на даний момент у Python34 все ще є помилка!
Мартін Ф

Випуск все ще: Python36
Masood Lapeh

1
все ще випуск: Python37
jmn

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

3

У мене була така ж проблема, і я зробив оновлення піп, використовуючи наступні, і тепер це працює добре. python -m pip install --upgrade pip


2

Я написав сценарій, щоб виправити ці EXE. Але найкращий спосіб - це виправити 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:])

1
У мене виникла помилка "Неможливо створити процес", коли я намагався запустити eb.exe (частина AWS Elastic Beanstalk CLI), і цей маленький сценарій виправив eb.exe! Це працює зараз, дякую.
JustAC0der

Це працювало для мене, але лише після зміни коду, щоб відповідати довжині від real_int_path до int_path. Я застелив це пробілами, як підказав відповідь Архімедікса.
lou

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/isissue/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. Додаткову інформацію про регістри
CodeButcher

1

Будь ласка, додайте цю адресу:

C: \ Файли програм (x86) \ Python33

в Windows PATH Variable

Хоча спочатку переконайтеся, що це папка, в якій знаходиться файл файлу Python exe, а потім додайте лише цей шлях до змінної PATH.

Щоб додати адреси у змінній PATH, перейдіть за посиланням

Панель управління -> Системи -> Розширені налаштування системи -> Змінні середовища -> Змінні системи -> Шлях -> Редагувати ->

Потім додайте вищезгаданий шлях та натисніть кнопку Зберегти


1

Я перейменував виконуваний файл у python.exeнапр python27.exe. Стосовно відповіді Archimedix я відкрив свій pip.exe за допомогою шестигранного редактора , прокрутив до кінця файлу та змінив python.exeшлях до python27.exe. Під час редагування переконайтеся, що ви не змінюєте іншу інформацію.


1

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

З вчорашнього дня я налаштовував oddo 9.0 (розділ: - "Залежності Python, перелічені у файлі вимог.txt .") Та його необхідність запускати PIP exe як

C: \ YourOdooPath> C: \ Python27 \ Scripts \ pip.exe install -r вимоги.txt

Мій шлях oddo: - D: \ Програмні файли (x86) \ Odoo 9.0-20151014 Моє розташування пунктів: - D: \ Програмні файли (x86) \ Python27 \ Scripts \ pip.exe

Тому я відкриваю командний рядок і переходжу вище шляху oddo і намагаюся запустити pip exe з цією комбінацією, але не дається завжди вище помилки.

  1. D: \ програмні файли (x86) \ Python27 \ скрипти \ pip.exe install -r вимоги.txt
  2. "D: \ Файли програми (x86) \ Python27 \ Scripts \ pip.exe install -r требования.txt" Python27 \ Scripts \ pip.exe install -r требования.txt

  3. "Встановити Python27 / Scripts / pip.exe -r вимоги.txt"

Я вирішив свою проблему за допомогою відповіді @ user4154243, за це дякую.

Крок 1. Додайте змінну (якщо ваш шлях не входить в шлях змінної).

Крок 2: Перейдіть до командного рядка, відкрийте шлях oddo, де ви встановили.

Крок 3: запустіть цю команду python -m pip install XXX, запустить і встановить речі.


1

Я вирішую свою проблему у вікні, якщо ви встановите і python2, і python3

вам потрібно ввести когось \ Сценарії змінити всі file.exe на file27.exe , потім це вирішити

мій D: \ Python27 \ Scripts редагувати django-admin.exe в django-admin27.exe, щоб це було зроблено


Ласкаво просимо до SO. Ознайомтесь із форматуванням відповіді у розділі довідки.
Річард Еріксон

1

Моєю точною проблемою була (фатальна помилка у запуску: неможливо створити процес за допомогою "" ") у Windows 10. Тому я перейшов до" C: \ Python33 \ Lib \ site-пакети "та видалив папку django та папки з файлами, потім перевстановив django за допомогою pip і моя проблема була вирішена.


1

Я вирішив встановити Python для Windows (64bit) не для всіх користувачів, а лише для мене.

Перевстановлення Python-x64 та перевірка розширеного варіанту "для всіх користувачів" вирішили проблему "pip" для мене.


1

Ось як я це виправив.

  1. Завантажте https://bootstrap.pypa.io/get-pip.py
  2. Активізуйте свій вітуаленв
  3. Перейдіть до файлу get-pip.py і введіть "python get-pip.py" без лапок.

він перевстановить ваш піп у середовищі та автоматично видалить попередню версію.

зараз бум !! встановлюйте все, що завгодно


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 ще раз, вибрав варіант зміни та переконався, що параметр " Додати в шлях " увімкнено та дозволить інсталятору запустити. Після цього все працює як слід.


0

У мене виникла ця проблема, а інші виправлення на цій сторінці не повністю вирішили проблему.

Що вирішило проблему, було зайти до моїх змінних системного середовища та дивитись на PATH - я видалив Python 3, але старий шлях до папки Python 3 все ще був. Я працюю тільки на Python 2 на своєму ПК та використовував Python 2 для встановлення pip.

Видалення посилань на неіснуючі папки Python 3 з PATH на додаток до оновлення до останньої версії pipвиправленої проблеми.


0

У мене було більш просте рішення. Використовуючи @apple спосіб, але перейменуйте основний .py на pip.py, після чого помістіть його у папку сценаріїв версії python та додайте папку сценаріїв до свого шляху, щоб отримати доступ до нього у всьому світі. якщо ви не хочете додавати його до контуру, вам доведеться CD до скриптів, а потім запустіть команду pip.


0

У Windows я вирішив цю проблему наступним чином:

1) видалений Python

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

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

4) встановлений Python


Я в Windows 10. Я скопіював папку python і перезаписав на новий комп'ютер, щоб заощадити час від встановлення всього понад 800 Мбіт. Це добре працювало раніше, але якось не цього разу. Я спробував усе тут, тільки остаточне рішення Дарксайда працює на мене.
HCChen

0

У мене є аналогічна проблема, коли я перевстановлюю python, видаляючи python3.7 та встановлюючи python3.8. Але я вирішив це, видаливши попередню версію каталогу python. Для мене він знаходився тут,

C: \ Користувачі \ ваше ім'я користувача \ AppData \ Місцеві \ Програми \ 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 .it буде вирішено


-2

Замість виклику ipython безпосередньо, він завантажується за допомогою Python типу

$ python "повний шлях до ipython.exe"

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.