@windows下python2與python3兼容性完美解決辦法
關聯:實現windows下python2和python3的兼容
關聯:實現windows下python2和python3的區別調用
【做夢及最後修改時間:2019/7/9凌晨】 【author by:kissloo/Wineco】 【mail:[email protected]】
重點在方案二和方案三:
方案二:使用py命令調用python
方案三:複製後重命名python.exe【很久以後做夢想到的】
1、在inux中python2與python3兼容
默認的python爲python2,可修改環境變量改變默認python版本
默認情況下,Linux python調用命令:
python2調用:python2/python、pip2/pip
python3調用:python3、pip3
2、Windows python2與python3不兼容
正常安裝並設置好python2和python3環境變量之後之後,
打開安裝目錄會發現,在windows中python2/3的可執行文件都叫python.exe,無法區別python.exe是哪個版本的,
此時,命令行調用python,會優先調用在環境變量path裏靠上的python。
即:windows默認的python取決於環境變量裏哪個版本的path環境變量更靠前
如圖: 此時輸入python命令時,python27中的python.exe會被優先調用
即:默認情況下,Windows python調用命令:
python2調用命令:python、pip2/pip
python3調用命令:pip3、**無法直接調用python3,除非每次都指定安裝路徑調用。**
簡稱:windows下python2/3不兼容
3、如何解決Windows中python版本的兼容問題?
兼容問題根本原因:
在windows中python2/3的可執行文件都叫python.exe
方案一【不建議】:修改python.exe爲python3.exe
將python安裝目錄下的python.exe重命名爲python2.exe/python3.exe,
此時系統能夠很明白的調用各版本的python。
//不建議修改python.exe爲python3.exe,會造成一些命令無法正常運行
方案二:使用py命令調用python
利用python安裝後自帶的py命令,能夠識別調用python2/3
py -3 #調用python3
py -3 1.py #調用python3執行1.py
py -2 #調用python2
py -2 1.py #調用python2執行1.py
在所有需要指定版本的地方使用py -2/3代替
舉例:使用pip方法
py -2 -m pip install XXXX
py -3 -m pip install XXXX
當指定腳本使用python2/3運行時,只需在腳本文件開頭加上,【#! python2/3】
舉例:
```
#! python2
print 1234567
```
然後運行py xxx.py
缺點:正常運行腳本時。每次都會多那麼一節。顯得不那麼方便
方案三:複製後重命名python.exe【做夢想到的】
前面【方案一:不建議修改python.exe爲python3.exe】
原因:python內置的一些命令會調用python.exe這個文件,如果將其修改後會造成一些命令無法正常運行*
但是【方案二:每次使用py命令】,就顯得有些不方便
那能不能換一種思路,在方案一的思路上做一些優化呢?
解決思路:
分別在python2/3目錄下,將python.exe複製爲python2/3.exe,
注意,保留原先的python.exe文件。
在不修改python.exe的情況下,去別的python2/3,以後就可以使用python2/3調用命令了。
仔細檢查可以發現這個思路和pip.exe\pip2.exe\pip3.exe有異曲同工之妙,
這是自己突然想到的一個辦法,暫時沒有發現什麼兼容性問題,有遇到問題的老鐵可以給我留言