Windows下多版本Python共存方案

一個月前重裝了電腦,裝了個Python,版本已經是3.6.0。昨天裝了個pyinstaller庫打包Python應用的時候,發(fā)現(xiàn)這個庫只支持到3.5.X,于是就有了在一個系統(tǒng)上安裝多個Python版本的需求,Python 2在使用上和Python 3差異還是相當大的,所以本文探討的也就是Windows下多個Python 3版本的共存方案。理想的效果是能在控制臺中指定使用的是哪個Python版本以及指定pip工具對哪個Python版本生效,互不干擾。


下載安裝

這步沒什么好說明的,為了在控制臺中使用Python和pip,你還是需要在安裝的時候選擇添加到path路徑,以及安裝pip工具。我這次裝了個x86的Python 3.5.3,所以安裝好后我的path是這樣的:

Paste_Image.png

這時你在控制臺輸入python --version,提示的Python版本是3.6.0。因為控制臺在path變量的路徑中從前到后搜索python程序,首先搜索到的就是Python 3.6.0。

創(chuàng)建快捷方式

假設你默認使用的Python版本就是python 3.6.0,那么在path變量里Python 3.6的目錄就要在3.5的前面。然后為了在命令行中使用Python 3.5,你需要進入Python 3.5所在的目錄,在當前文件夾下創(chuàng)建python.exe的快捷方式,并將其更名為python35。
此時在控制臺中輸入python35,會提示:

'python35' 不是內部或外部命令,也不是可運行的程序
或批處理文件。

那是因為快捷方式,會有.lnk后綴,此后綴并沒有在控制臺的搜索范圍中。嘗試在控制臺中輸入python35.lnk,可以發(fā)現(xiàn)打開的Python版本就是Python 3.5了。但是更為優(yōu)雅的解決方案是在環(huán)境變量的PATHEXT變量后加入;.lnk就能搜索到.lnk后綴的命令了。

此外,另一種更簡單的解決方案是復制python.exe文件,并更名為python35.exe,我沒做嘗試,理論上應該也行。

使用指定的pip

pip的路徑在python安裝目錄下的./Scripts目錄。所以確保你的環(huán)境變量path包含了兩個Python版本的Scripts文件夾。理論上在安裝時選擇正確的安裝選項就會自動添加相應地Scripts文件夾。

打開一個Scripts文件夾,發(fā)現(xiàn)其實是有三個pip命令的,如圖所示:

pip

也就是說,在只安裝了一個python版本的情況下,比如說Python 3.6.0,在控制臺中 pip、pip3、pip3.6是等價的。在同時安裝Python3.5和Python3.6的情況下,pip和pip3會重復,系統(tǒng)默認選擇path中靠前的pip,但是可以通過pip3.6和pip3.5做區(qū)分。如:
pip3.5 install PyQt5
此命令即在python3.5下安裝PyQt5模塊。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容