當同時安裝Python2和Python3後,如何兼容並切換使用詳解(好比pip使用)

因爲歷史緣由,Python有兩個大的版本分支,Python2和Python3,又因爲一些庫只支持某個版本分支,因此須要在電腦上同時安裝Python2和Python3,所以如何讓兩個版本的Python兼容,如何讓腳本在對應的Python版本上運行,這個是值得總結的。python

對於Ubuntu 16.04 LTS版原本說,Python2(2.7.12)和Python3(3.5.2)默認同時安裝,默認的python版本是2.7.12。windows

固然你也能夠用python2來調用。blog

若是想調用python3,就用python3.ip

 

對於Windows,就有點複雜了。由於不論python2仍是python3,python可執行文件都叫python.exe,在cmd下輸入python獲得的版本號取決於環境變量裏哪一個版本的python路徑更靠前,畢竟windows是按照順序查找的。好比環境變量裏的順序是這樣的:文檔

那麼cmd下的python版本就是2.7.12。cmd

反之,則是python3的版本號。pip

 

這就帶來一個問題了,若是你想用python2運行一個腳本,一會你又想用python3運行另外一個腳本,你怎麼作?來回改環境變量顯然很麻煩。變量

網上不少辦法比較簡單粗暴,把兩個python.exe更名啊,一個改爲python2.exe,一個改爲python3.exe。這樣作當然能夠,但修改可執行文件的方式,畢竟不是很好的方法。技術文檔

我仔細查找了一些python技術文檔,發現另一個我以爲比較好的解決辦法。方法

借用py的一個參數來調用不一樣版本的Python。py -2調用python2,py -3調用的是python3.

當python腳本須要python2運行時,只需在腳本前加上,而後運行py xxx.py便可。

#! python2

當python腳本須要python3運行時,只需在腳本前加上,,而後運行py xxx.py便可。

#! python3

就這麼簡單。

同時,這也完美解決了在pip在python2和python3共存的環境下報錯,提示Fatal error in launcher: Unable to create process using '"'的問題。

當須要python2的pip時,只需

py -2 -m pip install xxx

當須要python3的pip時,只需

py -3 -m pip install xxx

python2和python3的pip package就這樣能夠完美分開了。

相關文章
相關標籤/搜索