WINDOWS 同時(shí)安裝 python2 python3 后 pip 錯(cuò)誤的解決方法
再之前同時(shí)安裝 python 后 只需把環(huán)境變量PATH 里面改為
PATH=C:\Python36-32\Scripts\;C:\Python36-32\;C:\Python27\;C:\Python27\Scripts
然后把python3安裝后的文件按照如下修改:
C:\Python36-32\Scripts\pip.exe 改為 C:\Python36-32\Scripts\pip3.exe
C:\Python36-32\python.exe 改為 C:\Python36-32\python3.exe
C:\Python36-32\pythonw.exe 改為 C:\Python36-32\pythonw3.exe
這樣就可以再CMD 命令行下直接使用 python python3 pip pip3 等命令
因?yàn)樽罱匮b系統(tǒng),安裝了python2 和python3的最新版本 python 2.7.13 和 python 3.6.0
按照上述修復(fù)該方法,python pip python3 命令工作正常,但 pip3 執(zhí)行時(shí)顯示下列錯(cuò)誤:
Fatal error in launcher: Unable to create process using '"'
顯然是建立進(jìn)程時(shí)沒(méi)有找到進(jìn)程相關(guān)文件啊。想辦法吧。
發(fā)現(xiàn) C:\Python36-32\Scripts 目錄下有同樣圖標(biāo)及KB數(shù)相同的文件文件名不一樣,調(diào)用的功能也不一樣的幾個(gè)exe文件:
easy_instal3l.exe
easy_install-3.6.exe
pip.exe
根據(jù)經(jīng)驗(yàn)猜想這幾個(gè)EXE文件其實(shí)是同一個(gè)EXE文件加上不同的資源或者在調(diào)試破解領(lǐng)域里叫附加資源去執(zhí)行不同python 腳本,順手用7z打開證實(shí)了我的猜想
先去google一會(huì)找pip 這個(gè)exe的源代碼,找了一會(huì)兒沒(méi)找到,我就直接用IDA PRO F5 ,此EXE大概邏輯是找EXE最后多少字節(jié)以 特殊符號(hào) 分割開頭的一個(gè)字符串并建立進(jìn)程附加參數(shù)并執(zhí)行。
用HEX編輯器打開 pip.exe 翻到最后部分
看紅色圈起來(lái)的部分,發(fā)現(xiàn)這里面是寫死了路徑的,應(yīng)該是python安裝時(shí)附加的這個(gè)字符串,OK,直接把
c:\python36-32\python.exe 改為 c:\python36-32\pytho3.exe 保存。
然后 復(fù)制 C:\Python36-32\python3.exe 改為 C:\Python36-32\pytho3.exe
你沒(méi)看錯(cuò),去掉了n,因?yàn)樵瓉?lái)字符串python.exe 有10個(gè)字符,我們通常在修改EXE時(shí)為了工作正常不產(chǎn)生數(shù)據(jù)偏移之類的
錯(cuò)誤要保證字符串的長(zhǎng)度及位置,為了偷懶我直接改為 pytho3.exe 這樣可以工作正常。
下一步時(shí)找到這個(gè)pip.exe “殼”的代碼和 安裝程序什么是偶附加這個(gè)資源,看看能不能提一個(gè)bug修復(fù)下把他變成自動(dòng)獲取當(dāng)前exe路徑的上級(jí)路徑的python3的位置。
(顯然python3是我重命名的,這個(gè)思路不好)
相關(guān)資源參考:
https://github.com/pypa/setuptools/blob/master/msvc-build-launcher.cmd
https://github.com/pypa/setuptools/blob/master/launcher.c
https://www.python.org/dev/peps/pep-0397/
https://bitbucket.org/pypa/distlib/src/e4339220120d334fb9030303b8e919594acb829d/PC/?at=default
- Python pip安裝模塊提示錯(cuò)誤解決方案
- 解決Python3.8用pip安裝turtle-0.0.2出現(xiàn)錯(cuò)誤問(wèn)題
- python pip安裝包出現(xiàn):Failed building wheel for xxx錯(cuò)誤的解決
- python3中pip3安裝出錯(cuò),找不到SSL的解決方式
- 基于windows下pip安裝python模塊時(shí)報(bào)錯(cuò)總結(jié)
- 解決python2.7用pip安裝包時(shí)出現(xiàn)錯(cuò)誤的問(wèn)題
- python中pip安裝庫(kù)時(shí)出現(xiàn)Read?timed?out解決辦法
相關(guān)文章
Python3如何根據(jù)函數(shù)名動(dòng)態(tài)調(diào)用函數(shù)
這篇文章主要介紹了Python3如何根據(jù)函數(shù)名動(dòng)態(tài)調(diào)用函數(shù)問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-11-11Python tkinter實(shí)現(xiàn)日期選擇器
這篇文章主要為大家詳細(xì)介紹了Python tkinter實(shí)現(xiàn)日期選擇器,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-02-02Python中文分詞工具之結(jié)巴分詞用法實(shí)例總結(jié)【經(jīng)典案例】
這篇文章主要介紹了Python中文分詞工具之結(jié)巴分詞用法,結(jié)合實(shí)例形式總結(jié)分析了Python針對(duì)中文文件的讀取與分詞操作過(guò)程中遇到的問(wèn)題與解決方法,需要的朋友可以參考下2017-04-04用python實(shí)現(xiàn)超強(qiáng)的加密軟件
大家好,本篇文章主要講的是用python實(shí)現(xiàn)超強(qiáng)的加密軟件,感興趣的同學(xué)趕快來(lái)看一看吧,對(duì)你有幫助的話記得收藏一下,方便下次瀏覽2022-01-01python selenium自動(dòng)上傳有贊單號(hào)的操作方法
這篇文章主要介紹了python selenium自動(dòng)上傳有贊單號(hào)的操作代碼,代碼簡(jiǎn)單易懂,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2018-07-07python 實(shí)現(xiàn)數(shù)據(jù)庫(kù)中數(shù)據(jù)添加、查詢與更新的示例代碼
這篇文章主要介紹了python 實(shí)現(xiàn)數(shù)據(jù)庫(kù)中數(shù)據(jù)添加、查詢與更新的示例代碼,幫助大家更好的理解和使用python,感興趣的朋友可以了解下2020-12-12Django DRF路由與擴(kuò)展功能的實(shí)現(xiàn)
這篇文章主要介紹了Django DRF路由與擴(kuò)展功能的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-06-06python3發(fā)送郵件需要經(jīng)過(guò)代理服務(wù)器的示例代碼
今天小編就為大家分享一篇python3發(fā)送郵件需要經(jīng)過(guò)代理服務(wù)器的示例代碼,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-07-07