天天看點

windows 7 下配置sublime text 3以同時使用python2 和 3

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)快捷方式裡面不能修改“目标”,不知道是怎麼生成的。

windows 7 下配置sublime text 3以同時使用python2 和 3

最後參考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則會讀取新的環境變量。這裡困惑我好久......

windows 7 下配置sublime text 3以同時使用python2 和 3
windows 7 下配置sublime text 3以同時使用python2 和 3
windows 7 下配置sublime text 3以同時使用python2 和 3

BTW,同樣的,如果sublime已開,則剛剛修改的系統變量,它是不認的,也要重開....

windows 7 下配置sublime text 3以同時使用python2 和 3
windows 7 下配置sublime text 3以同時使用python2 和 3
windows 7 下配置sublime text 3以同時使用python2 和 3

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類似。