多個 python 版本開發環境

  • 8952
  • 0

多個 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 )

Image

 

現在,在試試看進入 command line 試著輸入 python26 、python27、python32 看看是否執行相對的命令了呢?