本文介紹在Linux等作業系統中檢查Python版本(Python Version)的方法,将使用指令行檢查作業系統上安裝的Python版本,這在安裝用Python編寫的需要特定版本Python的應用程式時非常有用。我們還将向你展示如何以程式設計方式确定運作Python腳本的系統上安裝的Python版本,例如,在編寫Python腳本時,需要确定腳本是否支援使用者計算機上安裝的Python版本。
檢查Python版本
Python已預先安裝在大多數Linux發行版和macOS上,也可自行安裝,參考在深度Deepin 15.11系統上安裝Python 3.7.4版本的方法。
要找出系統上安裝的Python版本,請運作python --version或python -V指令:
$ python --version
該指令将列印預設的Python版本,在本例中為2.7.15,你系統上安裝的版本可能不同:
Python 2.7.15+
在腳本的shebang行中,/usr/bin/python設定為解釋器的所有腳本都将使用預設版本的Python。
一些Linux發行版同時安裝了多個版本的Python,通常,Python 3二進制檔案名為python3,Python 2二進制檔案名為python或python2,但情況并非總是如此,可以通過鍵入以下指令來檢查是否安裝了Python 3:
$ python3 --version
傳回資訊,如:
Python 3.6.8
雖然Python 2得到了很好的支援和活躍,但Python 3被認為是該語言的現在和未來,參考Python 3.8新功能和新特性介紹。
在選寫本文時,Python的最新主要版本是3.7.x版,你可能在系統上安裝了舊版本的Python 3,如果要安裝最新版本,則該過程取決于你運作的作業系統。
以程式設計方式檢查Python版本
Python 2和Python 3從根本上是不同的,用Python 2.x編寫的代碼可能無法在Python 3.x中使用。
所有Python版本中都提供的sys子產品提供特定于系統的參數和函數,sys.version_info允許你确定系統上安裝的Python版本,它是一個包含五個版本号的元組:major,minor,micro,releaselevel和serial。
假設你有一個至少需要Python 3.5版的腳本,并且你想要檢查系統是否滿足要求,隻需檢查主要版本和次要版本即可:
import sys
if not sys.version_info.major == 3 and sys.version_info.minor >= 5:
print("This script requires Python 3.5 or higher!")
print("You are using Python {}.{}.".format(sys.version_info.major, sys.version_info.minor))
sys.exit(1)
如果使用小于3.5的Python版本運作腳本,則會生成以下輸出:
This script requires Python 3.5 or higher!
You are using Python 2.7.
要編寫在Python 3和2下運作的Python代碼,請使用future子產品,它允許你在Python 2下運作Python 3.x相容的代碼。
結論
找出系統上安裝的Python版本非常簡單,隻需執行python --version指令即可。
相關主題