Kesalahan fatal dalam peluncur: Tidak dapat membuat proses menggunakan "" C: \ Program Files (x86) \ Python33 \ python.exe "" C: \ Program Files (x86) \ Python33 \ pip.exe ""

211

Mencari di internet ini tampaknya menjadi masalah yang disebabkan oleh spasi di jalur instalasi Python.

Bagaimana saya bisa pipbekerja tanpa harus menginstal ulang semuanya di jalur tanpa spasi?

Archimedix
sumber
1
Sudahkah Anda mencoba menggunakan nama jalur pendek untuk file program (X86)? mis. "C: \ PROGRA ~ 2 \ Python33 \ python.exe"
Shadow9043
4
Masalahnya adalah bahwa ketika pipdiinstal, itu akan menggunakan nama asli, panjang yang didapatnya dari sistem. Lihat jawaban saya di bawah ini.
Archimedix
2
Diproduksi ulang dengan Python 2.7 dan Windows 10 Preview build 10074
Csaba Toth
2
@CsabaToth, saya harus memperbaiki suntingan Anda: Kutipan ganda benar karena sebelum perubahan Anda; mereka hanya menghilangkan tanda kutip tunggal: Kesalahan verbatim adalah: Fatal error in launcher: Unable to create process using '""C:\Program Files (x86)\Python33\python.exe"" "C:\Program Files (x86)\Python33\Scripts\pip.exe" '. Terlihat aneh, tapi memang begitu.
Archimedix
Saya menggunakan Powershell (Admin) dan berfungsi saat pertama kali pergi.
Aakash Choubey

Jawaban:

455

tampaknya

python -m pip install XXX 

akan tetap bekerja (berfungsi untuk saya) (lihat tautan oleh user474491 )

pengguna4154243
sumber
9
Menjadikannya sebagai jawaban yang diterima, meskipun itu lebih merupakan solusi (atau pendekatan alternatif) daripada perbaikan yang sebenarnya, tetapi bagaimanapun, itu lebih dapat diterapkan secara universal.
Archimedix
2
@ user4154243, itu berfungsi, tetapi dapatkah Anda menjelaskan apa yang sebenarnya dilakukannya? Apakah ada konsekuensi menggunakannya untuk menginstal setiap perpustakaan lain?
multigoodverse
1
Anda menyelamatkan saya, saya mencoba mengkonfigurasi oddo dan kebutuhannya untuk mengkonfigurasi python. Saya sudah mencoba 5 6 jam untuk masalah yang sama, akhirnya itu bekerja dari ide Anda. Terima kasih banyak. Saya juga menambahkan jawaban saya untuk pekerjaan terkait oddo.
Ajay2707
1
Apakah masalah ini dalam virtualenv, menggunakan solusi Anda untuk menginstal pip terbaru, yang kemudian memungkinkan penggunaan perintah secara normal: python -mpip install pip --upgrade
tr00st
4
ini adalah solusi dan tidak boleh menjadi jawaban yang diterima
Raiden Core
75

Setidaknya di Windows, pipmenyimpan jalur eksekusi di executable pip.exeketika diinstal.

Edit file ini menggunakan hex editor atau WordPad (Anda harus menyimpannya sebagai teks biasa lalu menyimpan data biner), ubah path ke Python dengan tanda kutip dan spasi seperti ini:

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

ke jalur yang diloloskan tanpa spasi dan tanda kutip dan pad dengan spasi (titik pada akhirnya harus spasi):

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

Untuk "C: \ Program Files", path ini mungkin akan menjadi "C: \ Progra ~ 1" (nama path yang disingkat dalam DOS / Windows 3.x notasi menggunakan tilde dan angka). Windows menyediakan notasi alternatif ini untuk kompatibilitas mundur dengan aplikasi DOS / Windows 3.x.

Perhatikan bahwa karena ini adalah file biner, Anda tidak boleh mengubah ukuran file yang dapat merusak executable, karenanya padding.

Simpan dengan hak administrator, pastikan itu benar-benar disimpan di lokasi target dan coba lagi.

Anda mungkin juga perlu mengatur PATHvariabel untuk menggunakan ~notasi untuk jalur pip.

Archimedix
sumber
1
Saya tidak bermaksud variabel lingkungan. Maksud saya di mana string ini muncul, "#!"C:\Program Files (x86)\Python33\python.exe"saya bisa mencari tahu di mana string itu menggunakan hex editor. Namun menggunakan Sublime Text tidak ada string seperti itu yang terlihat. Bisakah Anda memikirkan alasan mengapa jalur ditampilkan di Wordpad dan bukan di Teks Luhur?
Sohaib
2
WordPad adalah editor teks yang bodoh, Sublime mungkin terlalu pintar dan menunjukkan dump hex konten, saya kira.
Archimedix
6
Ini berhasil untuk saya. String asli saya adalah #!"C:\Program Files\Python3.4\python.exe", jadi saya mengubahnya #!C:\Progra~1\Python3.4\python.exe dan itu berfungsi. Saya dapat mengedit file dengan Notepad ++. String ini muncul di dekat akhir file, di akhir garis panjang.
Scott Weldon
3
Ini berhasil. Saya cukup menghapus python. Kemudian instal ulang; setelah menginstal ulang, saya baru saja mengubah folder instal dari C:\Program Files (x86)\Python34menjadi C:\Progra~2\Python34. (jika Anda tidak ingin berurusan dengan hex editor atau mengubah file biner)
Trent
2
"Setidaknya di Windows, pip menyimpan jalur eksekusi di pip.exe yang dapat dieksekusi ketika diinstal." Sekarang ITU bodoh -. Apakah saya perlu setengah jam untuk mencari tahu.
colok
36

mengalami masalah yang sama saya baca di https://pip.pypa.io/en/latest/installing.html#install-pip bahwa untuk memperbarui pip itu:

python -m pip install -U pip

Jadi saya membuat (misalnya)

python -m pip install virtualenv

Dan itu berhasil! Jadi Anda bisa melakukan hal yang sama dengan 'virtualenv' paket lain yang Anda inginkan.

MiguelCldn
sumber
4
Saya menderita daftar kesalahan dan ini adalah solusi yang berhasil untuk saya! Saya bahkan dapat menggunakan 'pip install virtualenv' dan berhenti menggunakan 'python -m pip' setelah melakukan upgrade ke pip terbaru. Terima kasih!
steve-gregory
18

python -m pip

benar-benar berfungsi untuk masalah Fatal error in launcher: Unable to create process using '"'.Bekerja pada Windows 10

Joel K Thomas
sumber
16

Saya memiliki masalah serupa dan memutakhirkan pip untuk saya.

python -m pip install --upgrade pip 

Ini ada di Windows dan jalur ke python di dalam pip.exe salah. Lihat jawaban Archimedix untuk informasi lebih lanjut tentang jalan.

Johan Gov
sumber
2
Terima kasih! Anda mungkin perlu menambahkan: --force
Masood Lapeh
Saya sudah menginstal versi terbaru. Digunakan python -m pip install pip == 9.0.0 untuk versi lama dan kemudian perbarui untuk memperbaiki pip.exe
Stefan
5

Inilah cara saya menyelesaikannya:

  1. buka pip.exedi 7zip dan ekstrak __main__.pyke folder Python \ Scripts.

    Dalam kasus saya itu C:\Program Files (x86)\Python27\Scripts

  2. Ganti nama __main__.pymenjadipip.py

  3. Menjalankannya! python pip.py install something

EDIT:

Jika Anda ingin dapat melakukannya pip install somethingdari mana saja, lakukan ini juga:

  1. ganti nama pip.py ke pip2.py (untuk menghindari kesalahan impor pip)

  2. buat C:\Program Files (x86)\Python27\pip.batdengan konten berikut:

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

  1. tambahkan C:\Program Files (x86)\Python27ke PATH Anda (jika belum)

  2. Menjalankannya! pip install something

apel16
sumber
4

Ini adalah Bug yang dikenal ketika ada ruang di virtualenvjalan. Koreksi telah dibuat, dan akan tersedia di versi berikutnya.

pengguna474491
sumber
5
Bug Pip sekarang telah diperbaiki. Pembaruan dengan menjalankanpython -m pip install -U pip
StuartLC
13
Tidak, sampai sekarang, Python34, masih memiliki bug!
Martin F
Masih menjadi masalah: Python36
Masood Lapeh
1
masih menjadi Isu: Python37
jmn
masih memiliki masalah: python 3.6.6
user2386301
3

Saya memiliki masalah yang sama dan melakukan upgrade pip menggunakan berikut dan sekarang berfungsi dengan baik. python -m pip install --upgrade pip

Amardev Joynauth
sumber
2

Saya menulis skrip untuk menambal exe itu. Tetapi cara terbaik adalah memperbaiki distutil itu sendiri.

"""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
sumber
1
Saya memiliki kesalahan "Tidak dapat membuat proses" ketika saya mencoba menjalankan eb.exe (bagian dari AWS Elastic Beanstalk CLI) dan skrip kecil ini memperbaiki eb.exe! Sekarang berfungsi, terima kasih.
JustAC0der
Ini bekerja untuk saya tetapi hanya setelah mengubah kode agar sesuai dengan panjang dari real_int_path dengan int_path. Saya menambahkannya dengan spasi seperti yang disarankan oleh jawaban dari Archimedix.
Lou
2

Saya memiliki masalah yang sama pada windows 10, setelah mencoba semua solusi sebelumnya, masalahnya tetap ada, jadi saya memutuskan untuk menghapus instalan python 2.7 saya dan menginstal versi 2.7.13 dan bekerja dengan sempurna.

Badr Bellaj
sumber
2

Ini bisa terjadi jika Anda menggunakan sistem file case-sensitive pada Windows. Anda dapat mengetahui apakah ini masalahnya jika ada libdirektori dan Libdirektori di venvdirektori Anda :

> 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

Untuk mengatasinya (sampai virtualenv.pydiperbaiki: https://github.com/pypa/virtualenv/issues/935 ) menggabungkan dua direktori lib dan membuat venvcase-insensitive:

cd venv
move Lib rmthis
move .\rmthis\site-packages\ lib
rmdir rmthis
fsutil.exe file setCaseSensitiveInfo . disable
cdjc
sumber
Saya tidak memiliki direktori 'Lib' dan 'lib', tetapi masih mengalami masalah ini. Anda dapat menggunakan yang berikut untuk secara langsung menentukan apakah direktori venv peka terhadap huruf besar-kecil fsutil.exe file queryCaseSensitiveInfo .venv. Latar belakang tambahan tentang sistem file case-sensitive pada Windows dapat ditemukan di devblogs.microsoft.com/commandline/…
CodeButcher
1

Silakan tambahkan alamat ini:

C: \ Program Files (x86) \ Python33

di Windows PATH Variable

Meskipun pertama-tama pastikan ini adalah folder tempat file exe Python berada, kemudian tambahkan saja path ini ke variabel PATH.

Untuk menambahkan alamat dalam variabel PATH, Silakan ke

Panel Kontrol -> Sistem -> Pengaturan Sistem Lanjut -> Variabel Lingkungan -> Variabel Sistem -> Path -> Edit ->

Kemudian tambahkan jalur yang disebutkan di atas & klik Simpan

Samik Banerjee
sumber
1

Saya mengganti nama executable python.exemenjadi eg python27.exe. Sehubungan dengan jawaban Archimedix saya membuka pip.exe saya dengan Hex-Editor , menggulir ke bagian akhir file dan mengubah python.exepath ke python27.exe. Saat mengedit membuat shure Anda tidak mengabaikan informasi lainnya.

Markus Weber
sumber
1

Saya menambahkan anwer saya karena saya telah mendapatkan kesalahan yang sama saat mengkonfigurasi kode sumber ODDO9 di lokal dan perlu exe untuk menjalankan saat menjalankan exe, saya mendapat kesalahan yang sama.

Dari kemarin saya mengkonfigurasi oddo 9.0 (bagian: - "dependensi Python tercantum dalam file requirement.txt.") Dan kebutuhannya untuk menjalankan exe PIP sebagai

C: \ YourOdooPath> C: \ Python27 \ Scripts \ pip.exe instal -r requirement.txt

Jalur oddo saya adalah: - D: \ Program Files (x86) \ Odoo 9.0-20151014 Lokasi pip saya adalah: - D: \ Program Files (x86) \ Python27 \ Scripts \ pip.exe

Jadi saya membuka command prompt dan pergi ke path oddo di atas dan mencoba untuk menjalankan pip exe dengan kombinasi ini, tetapi tidak diberikan selalu kesalahan di atas.

  1. D: \ Program Files (x86) \ Python27 \ Scripts \ pip.exe instal -r requirement.txt
  2. "D: \ Program Files (x86) \ Python27 \ Scripts \ pip.exe instal -r requirement.txt" Python27 \ Scripts \ pip.exe instal -r requirement.txt

  3. "Python27 / Scripts / pip.exe instal -r requirement.txt"

Saya menyelesaikan masalah saya dengan jawaban @ user4154243, terima kasih untuk itu.

Langkah 1: Tambahkan variabel (jika jalur Anda tidak ada di jalur variabel).

Langkah 2: Pergi ke command prompt, buka jalur oddo tempat Anda menginstal.

Langkah 3: jalankan perintah ini python -m pip install XXXakan menjalankan dan menginstal hal-hal.

Ajay2707
sumber
1

saya menyelesaikan masalah saya di Window jika Anda menginstal python2 dan python3

kamu perlu memasukkan seseorang \ Script ubah semua file.exe menjadi file27.exe , lalu selesaikan

D saya: \ Python27 \ Script edit django-admin.exe ke django-admin27.exe jadi sudah selesai

decemer
sumber
Selamat datang di SO. Silakan cari memformat jawaban Anda di bagian bantuan.
Richard Erickson
1

Masalah saya sebenarnya adalah (Kesalahan fatal dalam peluncur: Tidak dapat membuat proses menggunakan '"' di windows 10. Jadi saya menavigasi ke" C: \ Python33 \ Lib \ situs-paket "dan menghapus folder django dan folder pip kemudian menginstal ulang Django menggunakan pip dan masalah saya terpecahkan.

Norman Pilusa
sumber
1

Saya telah memilih untuk menginstal Python untuk Windows (64bit) bukan untuk semua pengguna, tetapi hanya untuk saya.

Menginstal ulang Python-x64 dan memeriksa opsi lanjutan "untuk semua pengguna" memecahkan masalah pip untuk saya.

Riki137
sumber
1

Inilah cara saya memperbaikinya.

  1. Unduh https://bootstrap.pypa.io/get-pip.py
  2. Aktifkan vitualenv Anda
  3. Arahkan ke file get-pip.py dan ketik "python get-pip.py" tanpa penawaran.

itu akan menginstal ulang pip Anda di lingkungan dan menghapus versi sebelumnya secara otomatis.

sekarang booming !! instal apa pun yang Anda suka

Mahabub Rahman
sumber
0

Coba instal ulang dengan menggunakan tautan di bawah ini,

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

Setelah mengunduh, salin "get-pip.py" ke direktori utama yang diinstal python, lalu buka cmd dan arahkan ke direktori python dan ketik "python get-pip.py" (tanpa tanda kutip)

Catatan: Pastikan juga direktori python diatur dalam variabel lingkungan.

Semoga ini bisa membantu.

MS Arun
sumber
0

Bagi saya masalah ini muncul ketika saya mengubah jalur lingkungan ke titik ke v2.7 yang awalnya menunjuk ke v3.6 . Setelah itu, untuk menjalankan perintah pip atau virtualenv , saya harus python -m pip install XXXseperti yang disebutkan dalam jawaban di bawah ini.

Jadi, untuk menyingkirkan ini, saya menjalankan lagi pemasang v2.7 , memilih opsi ubah dan memastikan bahwa, tambahkan ke opsi jalur diaktifkan, dan biarkan pemasang berjalan. Setelah itu semuanya berjalan sebagaimana mestinya.

MrClan
sumber
0

Saya memiliki masalah ini dan perbaikan lainnya di halaman ini tidak sepenuhnya menyelesaikan masalah.

Apa yang memecahkan masalah masuk ke variabel lingkungan sistem saya dan melihat PATH - Saya telah menghapus Python 3 tetapi jalur lama ke folder Python 3 masih ada. Saya hanya menjalankan Python 2 di PC saya dan menggunakan Python 2 untuk menginstal pip.

Menghapus referensi ke folder Python 3 yang tidak ada dari PATH selain memutakhirkan ke versi terbaru untuk pipmemperbaiki masalah.

Axesilo
sumber
0

Saya punya solusi yang lebih sederhana. Menggunakan cara @apple tapi mengubah nama utama py untuk pip.py kemudian memasukkannya ke dalam Anda skrip versi python folder dan menambahkan script folder untuk akses jalan Anda secara global. jika Anda tidak ingin menambahkannya ke path Anda harus cd ke skrip dan kemudian jalankan perintah pip.

Sahib Khan
sumber
0

Pada Windows saya telah memecahkan masalah ini dengan cara berikut:

1) menghapus Python

2) navigasikan ke C:\Users\MyName\AppData\Local\Programs(Anda harus mengaktifkan visibilitas file tersembunyi Tampilkan instruksi file tersembunyi )

3) menghapus folder 'Python'

4) menginstal Python

sisi gelap
sumber
Saya di Windows 10. Saya menyalin folder python dan menimpa ke komputer baru untuk menghemat waktu dari menginstal semuanya lebih dari 800 MBytes. Ini bekerja dengan baik sebelumnya, tetapi entah bagaimana kali ini tidak. Saya mencoba semuanya di sini, hanya solusi utama Darkside yang bekerja untuk saya.
HCCKetika
0

Saya memiliki masalah serupa ketika saya menginstal ulang python saya, dengan menghapus instalan python3.7 dan menginstal python3.8. Tapi saya menyelesaikannya dengan menghapus versi direktori python sebelumnya. Bagi saya itu terletak di sini,

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

Saya menghapus folder bernama Python37 (untuk versi sebelumnya) dan menyimpan Python38 (untuk versi yang diperbarui) . Ini berhasil karena python sendiri tampaknya mengalami kesulitan dalam menemukan direktori yang tepat untuk skrip python Anda.

Raja
sumber
0

Saya mencoba untuk menginstal beberapa paket situs seperti numpy, xgboost dan sebagainya, tetapi kesalahan ini muncul setiap saat:

Fatal error in launcher: Unable to create process using

Saya telah mencoba banyak cara untuk menyelesaikan masalah ini dan menemukan ini, yang berhasil membantu saya:

python -m pip freeze

Semoga itu akan membantu seseorang juga.

PS Saya menemukan solusi ini di sini: https://stackoverflow.com/a/39733705/10310794

Roman Voyt
sumber
0

Anda dapat menghapus folder python sebelumnya dan juga path variabel lingkungan dari komputer Anda, kemudian instal ulang python .it akan diselesaikan

pengguna8099291
sumber
-2

Alih-alih memanggil ipython secara langsung, itu dimuat menggunakan Python seperti

$ python "path lengkap ke ipython.exe"

Stephen Kim
sumber