本文介绍在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命令即可。
相关主题