如何检查运行我的脚本的 Python 的版本?

如何检查解释我的脚本的 Python 解释器是什么版本?

解决办法

这个信息可以在sys模块中的sys.version字符串中找到。

>>> import sys

人类可读性。

>>> print(sys.version)  # parentheses necessary in python 3.       
2.5.2 (r252:60911, Jul 31 2008, 17:28:52) 
[GCC 4.2.3 (Ubuntu 4.2.3-2ubuntu7)]

供进一步处理。

>>> sys.version_info
(2, 5, 2, 'final', 0)
# or
>>> sys.hexversion
34014192

为了确保脚本运行时对Python解释器的版本要求最低,请在代码中加入这句话。

assert sys.version_info >= (2, 5)

这将比较主要和次要版本信息。在元组中添加微观(=0, 1, 等等),甚至 releaselevel (='alpha','final', 等等),只要你喜欢。然而,请注意,几乎总是最好的办法是"duck"检查某个功能是否存在,如果没有,就采取变通办法(或放弃)。有时,在较新的版本中功能会消失,被其他功能所取代。

评论(5)

你最好的选择可能是这样的。

>>> import sys
>>> sys.version_info
(2, 6, 4, 'final', 0)
>>> if not sys.version_info[:2] == (2, 6):
...    print "Error, I need python 2.6"
... else:
...    from my_module import twoPointSixCode
>>> 

另外,你可以用一个简单的try来包装你的导入,这样应该可以捕获语法错误。而且,对于@Heikki'的观点,这段代码可以兼容更老的python版本。

>>> try:
...     from my_module import twoPointSixCode
... except Exception: 
...     print "can't import, probably because your python is too old!"
>>>
评论(4)
import sys
sys.version.split(' ')[0]

sys.version给你提供了你想要的东西,只要选择第一个数字就可以了 :)

评论(1)