簡體   English   中英

啟動器中的致命錯誤:無法使用“C:\Program Files (x86)\Python33\python.exe”“C:\Program Files (x86)\Python33\pip.exe”創建進程

[英]Fatal error in launcher: Unable to create process using ""C:\Program Files (x86)\Python33\python.exe" "C:\Program Files (x86)\Python33\pip.exe""

網上搜了一下,貌似是Python安裝路徑中的空格導致的問題。

如何讓pip工作而無需在沒有空格的路徑中重新安裝所有內容?

看起來

python -m pip install XXX 

無論如何都會工作(為我工作)(參見user474491 的鏈接

至少在 Windows 上, pip在安裝時將執行路徑存儲在可執行文件pip.exe中。

使用十六進制編輯器或寫字板編輯此文件(您必須將其保存為純文本,然后才能保留二進制數據),使用引號和空格將路徑更改為 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的路徑。

我在https://pip.pypa.io/en/latest/installing.html#install-pip中讀到的問題與更新 pip 相同:

python -m pip install -U pip

所以我做了(例如)

python -m pip install virtualenv

它奏效了! 所以你可以做同樣的事情是'virtualenv'另一個你想要的包。

蟒蛇 -m 點子

確實適用Fatal error in launcher: Unable to create process using '"'在 Windows 10 上工作

我遇到了類似的問題,升級 pip 為我解決了這個問題。

python -m pip install --upgrade pip 

這是在 Windows 上,並且 pip.exe 中的 python 路徑不正確。 有關路徑的更多信息,請參閱Archimedix 答案

這是我解決它的方法:

  1. 在 7zip 中打開pip.exe並將__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到您的 PATH 中(如果還沒有)

  2. 運行! pip install something

virtualenv路徑中有空格時,這是一個已知的錯誤 已進行更正,將在下一個版本中提供。

我有同樣的問題,並使用以下方法進行了 pip 升級,現在它工作正常。 python -m pip install --upgrade pip

我寫了一個腳本來修補那些 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:])

我在 Windows 10 上遇到了同樣的問題,在嘗試了所有以前的解決方案后,問題仍然存在,所以我決定卸載我的 python 2.7 並安裝版本 2.7.13,它運行良好。

如果您在 Windows 上使用區分大小寫的文件系統,則可能會發生這種情況。 如果您的venv目錄中同時存在lib目錄和Lib目錄,您可以判斷是否是這種情況:

> 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

請添加此地址:

C:\Program 文件 (x86)\Python33

在 Windows PATH 變量中

雖然首先確保這是 Python exe 文件所在的文件夾,然后只將此路徑添加到 PATH 變量中。

要在 PATH 變量中附加地址,請轉到

控制面板 -> 系統 -> 高級系統設置 -> 環境變量 -> 系統變量 -> 路徑 -> 編輯 ->

然后附加上述路徑並單擊保存

我將python.exe的可執行文件重命名為例如python27.exe 關於Archimedix的答案,我用Hex-Editor打開了我的 pip.exe ,滾動到文件末尾並將路徑中的python.exe更改為python27.exe 在編輯 make shure 時,您不會覆蓋其他信息。

我添加了我的答案,因為我在本地配置 ODDO9 源代碼時遇到了同樣的錯誤,並且它需要在運行 exe 時運行 exe,我得到了同樣的錯誤。

從昨天開始,我配置了oddo 9.0 (部分:-“requirements.txt 文件中列出的 Python 依賴項。”)並且它需要運行 PIP exe

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

我的奇怪路徑是:- D:\Program Files (x86)\Odoo 9.0-20151014 我的 pip 位置是:- D:\Program Files (x86)\Python27\Scripts\pip.exe

所以我打開命令提示符並轉到上面的奇數路徑並嘗試使用這些組合運行 pip exe,但並不總是給出上述錯誤。

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

  3. “Python27/Scripts/pip.exe 安裝 -r requirements.txt”

我通過@user4154243 的回答解決了我的問題,謝謝。

第 1 步: 添加變量(如果您的路徑不在變量路徑中)。

第 2 步:轉到命令提示符,打開您安裝的奇怪路徑。

第 3 步:運行此命令python -m pip install XXX將運行並安裝東西。

如果您同時安裝python2 和 python3 ,我會在Window中解決我的問題

你需要輸入某人\Scripts將所有file.exe 更改為 file27.exe 然后解決

我的 D:\Python27\Scripts 將django-admin.exe編輯為django-admin27.exe就完成了

我的確切問題是(啟動器中的致命錯誤:無法在 Windows 10 上使用 '"' 創建進程)。所以我導航到“C:\Python33\Lib\site-packages”並刪除了 django 文件夾和 pip 文件夾,然后重新安裝了 django使用 pip,我的問題就解決了。

Windows上,我通過以下方式解決了這個問題:

1)卸載的Python

2)導航到C:\Users\MyName\AppData\Local\Programs (你應該打開隱藏文件可見性顯示隱藏文件指令

3)刪除“Python”文件夾

4)安裝Python

我選擇不是為所有用戶安裝 Python for Windows(64 位),而是為我自己安裝。

重新安裝 Python-x64 並檢查“所有用戶”的高級選項為我解決了 pip 問題。

這是我修復它的方法。

  1. 下載https://bootstrap.pypa.io/get-pip.py
  2. 激活你的虛擬環境
  3. 導航到 get-pip.py 文件並鍵入不帶引號的“python get-pip.py”。

它將在環境中重新安裝您的 pip 並自動卸載以前的版本。

現在繁榮! 安裝你喜歡的任何東西

嘗試使用以下鏈接重新安裝,

下載https://bootstrap.pypa.io/get-pip.py

下載后,將“get-pip.py”復制到python安裝的主目錄,然后打開cmd並導航到python目錄並輸入“python get-pip.py”(不帶引號)

注意:還要確保在環境變量中設置了 python 目錄。

希望這可能會有所幫助。

對我來說,當我將環境路徑更改為指向最初指向v3.6v2.7時,就會出現這個問題。 之后,要運行pipvirtualenv命令,我必須python -m pip install XXX ,如下面的答案中所述。

因此,為了擺脫這種情況,我再次運行v2.7安裝程序,選擇更改選項並確保啟用添加到路徑選項,然后讓安裝程序運行。 之后一切正常。

我遇到了這個問題,這個頁面上的其他修復並沒有完全解決這個問題。

解決問題的方法是進入我的系統環境變量並查看 PATH - 我已經卸載了 Python 3,但 Python 3 文件夾的舊路徑仍然存在。 我在我的 PC 上只運行 Python 2 並使用 Python 2 安裝 pip。

除了升級到最新版本的pip之外,從 PATH 中刪除對不存在的 Python 3 文件夾的引用修復了該問題。

我有一個更簡單的解決方案。 使用@apple 方式,但將main .py 重命名為 pip.py 然后將其放入您的 python 版本腳本文件夾中,並將腳本文件夾添加到您的路徑中全局訪問它。 如果您不想將其添加到路徑,則必須 cd 到腳本,然后運行 ​​pip 命令。

通過卸載 python3.7 並安裝 python3.8 重新安裝 python 時,我遇到了類似的問題。 但是我通過刪除以前版本的python目錄解決了它。 對我來說,它位於這里,

C:\Users\你的用戶名\AppData\Local\Programs\Python

我刪除了名為Python37 (for previous version)的文件夾並保留了 Python38 (for updated version) 這很有效,因為 python 本身似乎很難為你的 python 腳本找到正確的目錄。

我試圖安裝一些站點包,如 numpy、xgboost 等,但每次都會出現此錯誤:

Fatal error in launcher: Unable to create process using

我嘗試了很多方法來解決這個問題並找到了這個,它成功地幫助了我:

python -m pip freeze

希望它也會對某人有所幫助。

PS我在這里找到了這個解決方案: https ://stackoverflow.com/a/39733705/10310794

您可以從您的電腦中刪除以前的 python 文件夾和環境變量路徑,然后重新安裝 python 。它將解決

我在使用 django rest 框架和 simplejwt 時遇到了這個問題。 我所要做的就是升級 pip 並重新安裝軟件包

我今天遇到了這個問題。 我收到錯誤的原因是我在 Dropbox 上存儲了一個項目,我可以從兩台不同的計算機訪問該項目。

我正在使用venv ,因為我在機器 A 上設置了venv ,如果我嘗試在機器 BI 上運行pytest會收到錯誤。

刪除venv文件夾並運行python -m venv venv為我解決了這個問題。

不是直接調用 ipython ,而是使用 Python 加載,比如

$ python "ipython.exe 的完整路徑"

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM