国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

WINDOWS 同時安裝 python2 python3 后 pip 錯誤的解決方法

2019-11-25 16:19:06
字體:
來源:轉載
供稿:網友

再之前同時安裝 python 后 只需把環境變量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 等命令

因為最近重裝系統,安裝了python2 和python3的最新版本 python 2.7.13 和 python 3.6.0

按照上述修復該方法,python pip python3 命令工作正常,但 pip3 執行時顯示下列錯誤:

Fatal error in launcher: Unable to create process using '"'

顯然是建立進程時沒有找到進程相關文件啊。想辦法吧。

發現 C:/Python36-32/Scripts 目錄下有同樣圖標及KB數相同的文件文件名不一樣,調用的功能也不一樣的幾個exe文件:

easy_instal3l.exe

easy_install-3.6.exe

pip.exe

根據經驗猜想這幾個EXE文件其實是同一個EXE文件加上不同的資源或者在調試破解領域里叫附加資源去執行不同python 腳本,順手用7z打開證實了我的猜想

先去google一會找pip 這個exe的源代碼,找了一會兒沒找到,我就直接用IDA PRO F5 ,此EXE大概邏輯是找EXE最后多少字節以 特殊符號 分割開頭的一個字符串并建立進程附加參數并執行。

用HEX編輯器打開 pip.exe  翻到最后部分

看紅色圈起來的部分,發現這里面是寫死了路徑的,應該是python安裝時附加的這個字符串,OK,直接把

c:/python36-32/python.exe 改為 c:/python36-32/pytho3.exe 保存。

然后 復制 C:/Python36-32/python3.exe 改為 C:/Python36-32/pytho3.exe

你沒看錯,去掉了n,因為原來字符串python.exe 有10個字符,我們通常在修改EXE時為了工作正常不產生數據偏移之類的

錯誤要保證字符串的長度及位置,為了偷懶我直接改為 pytho3.exe  這樣可以工作正常。

下一步時找到這個pip.exe “殼”的代碼和 安裝程序什么是偶附加這個資源,看看能不能提一個bug修復下把他變成自動獲取當前exe路徑的上級路徑的python3的位置。

(顯然python3是我重命名的,這個思路不好)

相關資源參考:

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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 新津县| 文水县| 芜湖县| 五家渠市| 古蔺县| 鄂伦春自治旗| 吉木萨尔县| 大冶市| 洪江市| 雷州市| 武宁县| 五台县| 平泉县| 资兴市| 康保县| 临武县| 弥渡县| 平定县| 巴林左旗| 叙永县| 株洲市| 连州市| 台山市| 惠安县| 上栗县| 宜都市| 竹溪县| 西青区| 铜川市| 英德市| 晴隆县| 叶城县| 惠州市| 池州市| 怀来县| 桦甸市| 百色市| 福建省| 桦甸市| 陆良县| 民县|