轉自:https://www.cnblogs.com/shabbylee/p/6792555.html
由于歷史原因,Python有兩個大的版本分支,Python2和Python3,又由于一些庫只支持某個版本分支,所以需要在電腦上同時安裝Python2和Python3,因此如何讓兩個版本的Python兼容,如何讓腳本在對應的Python版本上運行,這個是值得總結的。
對于Ubuntu 16.04 LTS版本來說,Python2(2.7.12)和Python3(3.5.2)默認同時安裝,默認的python版本是2.7.12。
當然你也可以用python2來調用。
如果想調用python3,就用python3.
對于Windows,就有點復雜了。因為不論python2還是python3,python可執行文件都叫python.exe,在cmd下輸入python得到的版本號取決于環境變量里哪個版本的python路徑更靠前,畢竟windows是按照順序查找的。比如環境變量里的順序是這樣的:
那么cmd下的python版本就是2.7.12。
反之,則是python3的版本號。
這就帶來一個問題了,如果你想用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就這樣可以完美分開了。
posted on 2018-11-16 09:38
xzc 閱讀(632)
評論(0) 編輯 收藏 所屬分類:
python