windows 下配置sublime Text 3 以便同時使用python2 和 3。
1.安裝Python
Python 目前有兩個版本,分别是2.7和3.6,兩者并不相容,學習過程中有的用2.x有的用3.x,這兩者是可以同時安裝在windows環境下的。
我的系統,windows 7 64bit 。
python 下載下傳位址:https://www.python.org/getit/
目前版本有 3.6.0 和 2.7.13。
1.1 Python 3.6.0的下載下傳版本和安裝
Python 3.6的win下載下傳版本有很多,其中名字中含有“x86-64”的是64位版。同樣是64位版,又有三種,分别是embeddable zip file,executable installer,web-based installer。
embeddable zip file,這個版本是用直接的一個壓縮包,主要用于被别的程式設計環境用來嵌入調用使用的。
web-based installer,這個版本是基于web安裝的,實際上就是下載下傳一個安裝器,運作這個安裝器,會聯接網際網路下載下傳安裝。
executable installer,這個版本才是完全的本地安裝程式,可以有獨立的環境。一般我就用這個。
安裝的時候沒有其他的更多選項可調整,一般直接下一步即可,不過我這裡修改了安裝路徑,直接安裝到了C:\Python37下。
1.2 Python 2.7.13的下載下傳版本和安裝
Python 2.7下版本沒有那麼複雜,for win的版本就兩個,都是MSI install格式的,這裡我下載下傳的是64位的。
Python 2.7的安裝,預設是c:\Python27,這個就不用改了,直接下一步完成安裝。
2. 配置系統環境及sublime以便同時使用Python 2 和 3
2.1 修改Python 2 和 3 的檔案名
将安裝好的python 2 和 3 的主程式檔案名進行修改,以便區分使用。如果兩個版本的主程式同名的話,很多時候容易造成混淆。
我将python 2.7 的主程式python.exe 和pythonw.exe 分别改成 pytohn2.exe 和Pythonw2.exe,同樣的,在3.7下的兩個主要的可執行檔案的檔案名後面也加上3
改名後,注意 要把開始菜單中的快捷方式也要相應的進行修改。這裡有個奇怪的情況,python 2.6安裝後生成的IDLE (Python GUI)快捷方式裡面不能修改“目标”,不知道是怎麼生成的。

最後參考python 3 中的對應快捷方式自己建了一個,起始位置為:c:\Python27,目标為:C:\Python27\pythonw.exe ".\lib\idlelib\idle.pyw"
同樣的快捷方式 Python (command line)也是無法修改的,這個直接将c:\python27下的python.exe建個快捷方式放過去就好,注意快捷方式的其實位置要改成c:\Python27。
Python 3 下開始菜單中的快捷方式修改就簡單多了,直接在目标裡面相應的改成python3.exe 和pythonw3.exe就好了。
2.2 修改系統變量,以便在任何位置運作python 2 和 3
右鍵”計算機” –> 選擇“屬性” –> “進階系統設定” –> “環境變量”,然後在系統變量裡面找到path,編輯它,并添加兩個路徑:【C:\Python36】和【C:\Python27】。
嗯,最好還要加上【C:\Python36\scripts】和【c:\Python\scripts】。
檢查這兩個版本的python的scripts目錄,會發現pip.exe 有兩個兄弟,3.6的是pip3.exe和pip3.6.exe。2.7的是pip2.exe和pip2.7.exe。so,小夥伴們知道以後使用pip的時候要用哪個了吧?
注意,修改了系統環境變量後,對已經打開的console是不會起效的,新開的console則會讀取新的環境變量。這裡困惑我好久......
BTW,同樣的,如果sublime已開,則剛剛修改的系統變量,它是不認的,也要重開....
3.配置sublime text 3可以同時使用python 2 和3
sublime text 3本身的編譯環境是有python的,這是系統配置,一般不做修改。
我這裡針對2 和 3 分别new 了兩個 Build System。
具體方法是:
1. Tools\Build System\New Build System
2. 在打開的代碼編輯界面裡面用下面的代碼替換掉原有代碼
{
"cmd":["python.exe", "-u", "$file"],
"path":"c:/python27/",
"file_regex": "^[ ]*File \"(...*?)\", line ([0-9]*)",
"selector": "source.python"
}
然後Ctrl+s 儲存,檔案名改為: Python2.sublime-build
同樣的将上面代碼中的path改為c:/python36/,就是Python3.sublime-build
注意,上面的代碼中path的路徑中的斜杠方向,一定是"/",不是“\"。
注意,上面的代碼中path的路徑中的斜杠方向,一定是"/",不是“\"。
注意,上面的代碼中path的路徑中的斜杠方向,一定是"/",不是“\"。
然後在sublime text 3裡面運作.py檔案的時候,用 ctrl+Shift+b,就可以選擇你要用的Python版本了。
3. 補充配置,讓帶input()的python程式運作于獨立的console視窗
以python2為例,在上面的python2.sublime-build中,利用variants增加一個選項,可以在獨立的console視窗中運作帶input()的互動式python程式
修改後的python2.sublime-build代碼如下:
{
"working_dir": "$file_path",
"cmd":["python2.exe", "-u", "$file"],
"path":"c:/python27/",
"file_regex": "^[ ]*File \"(...*?)\", line ([0-9]*)",
"selector": "source.python",
"variants":
[
{
"name": "Run in commandline",
"shell_cmd": "start cmd /c \"python2 -u \"${file_path}/${file_base_name}.py\" && pause\""
}
]
}
做以上修改後,用ctrl+shift+b運作,會多一個 python2 - run in commandline的選項,選擇它會新開一個cmd視窗運作相應的python程式,結束後會暫停。
python3類似。