多個 python 版本開發環境
上一篇文章「在 Windows 7 環境安裝 Python 2.6.6」中,有提到 python2 與 python3 語法沒有向下相容,連 python2 或 python3 小版本間也不盡相同。
所以,同一個開發環境下,存在多個版本的 python 是常有的事情。
本篇主要講解,如何在 Windows 7 下並存多個 python 版本開發環境。
我們先假設使用者,已經在 python 官方網站下載各版本的 Windows Installer 並安裝在預設路徑下:
python 2.6:C:\Python26
python 2.7:C:\Python27
python 3.2:C:\Python32
我們希望在 command line 輸入 python26 就是執行 C:\Python26\python.exe;輸入 python32 就是執行 C:\Python32\python.exe
那麼可以利用 Windows 內建的 Doskey 指令 (參考:Simplify Command Entry with Doskey Macros ) 及 Registry 指令達成。
Doskey 指令,簡單來說其實就是別名,把一長串指令用簡單的符號來取代。
例如:艾小克常常在 Windows 環境下,還是習慣使用 unix 的 ls –al 而不是輸入 dir /A /W。
此時,就可以以利用 doskey 指令,在 Command line 輸入:
doskey ls=dir /A /W
之後,在 Command line 輸入 ls 就等於執行 dir /A /w 的指令囉…
但是,每次進入 Command line 就必須重新設定 Doskey 一次,所以我們必須將命令先儲存起來。
在 command line 載入後,馬上幫我們重新設定 Doskey。
所以,先建立一個 autorun.bat 檔案,檔案內容如下:
@echo off
doskey python26=c:\Python26\python.exe $*
doskey python27=c:\Python27\python.exe $*
doskey python32=c:\Python32\python.exe $*
其中 @echo off 是把命令輸入關閉…
doskey python26=c:\Python26\python.exe $*,則是表示輸入 python26 等於執行 c:\Python26\python.exe
而 $* 則是帶入每一個參數,例如 python26 test test2 就等於 c:\Python26\python.exe test test2
做好 autorun.bat 後,將檔案放在固定的位置,例如:c:\Users\[username]\autorun.bat
在 command line 輸入 regedit,進入 registry 編輯模式:
找到 HKEY_CURRENT_USER\Software\Microsoft\Command Processor 位置:
新增 REG_SZ (String): Autorun ,Value: %USERPROFILE%\autorun.bat
( %USERPROFILE% 表示 c:\Users\[username]\ 也可以輸入完整路徑 c:\Users\[username]\autorun.bat )
現在,在試試看進入 command line 試著輸入 python26 、python27、python32 看看是否執行相對的命令了呢?