Part1:解決Python2和Python3的同時使用問題,并且優(yōu)先使用python2
因為歷史原因,工作中要使用Python2的不在少數(shù)。比如有些工具是使用python2編寫的,甚至是源碼也沒有。改寫這部分工具費時,也不值得。
但是,python之父Guido van Rossum(吉多·范羅·蘇姆),早就提出2020年1月1日之后不在支持更新。這個時候,又需要工作中使用的是python3?,F(xiàn)在在執(zhí)行的python2的pip安裝時,都有明顯提示。

天生的矛盾解決不好,會給初級使用者帶來麻煩。本文主要解決這方面的問題。
本文基于這樣的假設:
1.??? 使用python2作為默認python。保證兼容。
2.??? 同時使用python3,開發(fā)現(xiàn)有應用和腳本。在現(xiàn)有腳本中兼容python2或者直接放棄對python2的支持。
具體步驟:
1.??下載安裝包
下載路徑www.python.org->download->Viewthe full list of downloads.下載Python2.7最新版本和python3.6最新版本。(我們沒有必要跟著3.7走,有些庫還在兼容中。)

下載內(nèi)容選擇Windows x86-64 MSI installer,MSI可以直接安裝。64位,是因為操作系統(tǒng)時支持64位的,如圖:
得到兩個MSI的安裝包。

2.??安裝在D盤
將python2安裝在D盤,如圖:(python3類似。)


3.??編輯環(huán)境變量,并修改python3中文件
個人或者系統(tǒng)的環(huán)境變量將python2的位置放在前面,python3的位置放在后面。右擊“我的電腦”,選擇屬性后如圖設置:

將python3的python.exe pip.exe修改為python3.exe和pip3.exe,確保命令行中用到的python和pip只可能是python2的版本(這樣修改后,和環(huán)境變量的先后沒有關系了。根本就不存在python3的python.exe和pip.exe文件)
同時需要修改pip3.exe中的python解析器的位置,為更改后的d:\python36\python3.exe。(重要!不然在這個目錄下執(zhí)行pip3.exe會找不到python.exe。)



4.? 最后確認命令行解析正確
?

總結:
通過上面的修改,win10系統(tǒng)會使用python2作為默認python。
同時python3也順利安裝在系統(tǒng)中了,可以通過使用python3 xxx.py和pip3 install xxx 操作python3解析器。
Part2: 解決安裝速度問題
Pip 指定國內(nèi)的數(shù)據(jù)源,提升下載安裝速度。國內(nèi)有兩個主要的源,一個是清華的,一個是豆瓣的。
使用方式也有兩種,一種是臨時使用,一種是永久使用。
1.臨時使用:
可以在使用pip的時候在后面加上-i參數(shù),指定pip源,這里臨時使用清華的源。例如: pip install scrapy -i?https://pypi.tuna.tsinghua.edu.cn/simple

2.永久修改:
Win10機器:
在自己的主目錄下建立一個pip目錄中間放置一個pip.ini文件內(nèi)容如下:
[global]
trusted-host = ?pypi.douban.com
index-url = https://pypi.douban.com/simple

#建議使用豆瓣的源,url寫上https,加密傳輸。
3.對比一下效果:
在我們配置完成pip.ini之后,我們使用pip install的方式安裝包,默認就是到豆瓣的連接去下載安裝。

Part3:判斷當前運行的解析器是否是python3
通過上面的修改,經(jīng)常會錯誤的將需要python3解析器解析的腳本用python2解析器執(zhí)行了。
Python的sys包中version屬性,指明了運行該腳本的當前解析器版本。我們可以例用這個特點,發(fā)現(xiàn)調(diào)用的解析器錯了,提示用戶。
1.sys.version=>'2.7.15 (v2.7.15:ca079a3ea3, Apr 30 2018, 16:30:26)[MSC v.1500 64 bit (AMD64)]'
2.1如果發(fā)現(xiàn)是python2的可以直接調(diào)用exit()退出。
2.2通過six包或者其他方式,代碼上兼容python2。(不建議,python2以后會越來越少。)
?


