如何在一臺電腦上同時使用 Python 2 和 Python 3

Python 的版本是這幾年被開發者詬病的一大槽點,也讓衆多新手頭疼不已。逐漸退居二線的老版本 2 存在不少缺陷但應用廣泛,而新版本 3 爲了徹底解決歷史遺留問題決定另起爐竈不向後兼容。

對於開發者來說,如果要更新版本,將有大量的代碼移植工作,同時還得考慮外部依賴庫的兼容性。而對於學習者來說,最大的問題莫過於:我要學 2 還是學 3?

不過今天要說的不是 2 與 3 的選擇,而是另一個事情。如果你想兼容幷包地看下兩個版本的教程,或是已經基本掌握一個版本,打算 get 另一個版本時,就必須要面對如何在你的電腦上同時使用 Python 2 和 Python 3 的問題。

Linux

如果你是 Linux 系統,通常都默認安裝了 Python 2.x 版本,在命令行下查看版本:

python -V

而通過包管理或者編譯安裝的 Python 3 版本,會是另一個名字:python3(也有的是帶小版本號如 python3.4)。再查看版本:

python3 -V

因此只要用不同的命令,就可以區分版本了。

python test_v2.py
python3 test_v3.py

如果想要用 python3 替換默認的 python,常見的做法是修改系統 PATH 路徑中的 python,讓它成爲一個指向 python3 的軟鏈接,或者用 alias,將 python 指定爲 python3 的別名。

Mac

Mac 系統也默認裝有 Python 2.x 版本。安裝3版本一種較方便的方法是使用 homebrew(需自行安裝):

brew install python3

同樣,它叫做 python3,與原有的 python 區別開。

Windows

而在 Windows 上,默認沒有 Python,需要下載安裝。官網上提供有不同版本,安裝後路徑不同,但執行程序名稱均爲 python.exe

看上去好像要複雜一些。但其實官方已經很貼心地提供了一個解決方案:當你安裝 Python 3 版本之後,就會同時安裝一個名爲 py.exe 的 Python 啓動器。可以用它替代 python 命令:

py test.py

並且可以指定版本(前提是安裝了對應版本):

py -2 test_v2.py
py -3 test_v3.py

上一次說到可以通過 pip 來安裝第三方模塊(參見 如何安裝 Python 的第三方模塊)。如果系統裏有了兩個版本的 Python,用 pip 時需注意,究竟是安裝在了哪個版本上。

通過命令可查看 pip 默認的對應版本:

pip -V

爲了防止出現版本對應混亂的情況,除了默認的 pip 之外,每個版本都有對應的副本,如 pip2pip2.7pip3pip3.5。所以當需要明確安裝版本時,可使用對應的命令:

pip2 install ...
pip3 install ...

除此之外,Windows 上也可以這樣做:

py -2 -m pip install ...
py -3 -m pip install ...

當然,這些的前提是將對應目錄加到了系統變量 PATH 路徑裏,包括 Python 安裝目錄及其 Scripts 子目錄。如果沒有在安裝時勾選全部可選項,讓安裝程序自動幫你設置好,則需要手動添加。


還有種優雅的方法控制不同 Python 版本的共存,就是通過 pyenv 或者 virtualenv 創建虛擬開發環境。之後也會來說一說。



其他文章及回答:

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章