如何检查解释我的脚本的 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"检查某个功能是否存在,如果没有,就采取变通办法(或放弃)。有时,在较新的版本中功能会消失,被其他功能所取代。
0
1
'alpha'
'final'
你最好的选择可能是这样的。
>>> 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!" >>>
import sys sys.version.split(' ')[0]
sys.version给你提供了你想要的东西,只要选择第一个数字就可以了 :)
这个信息可以在sys模块中的sys.version字符串中找到。
人类可读性。
供进一步处理。
为了确保脚本运行时对Python解释器的版本要求最低,请在代码中加入这句话。
这将比较主要和次要版本信息。在元组中添加微观(=
0
,1
, 等等),甚至 releaselevel (='alpha'
,'final'
, 等等),只要你喜欢。然而,请注意,几乎总是最好的办法是"duck"检查某个功能是否存在,如果没有,就采取变通办法(或放弃)。有时,在较新的版本中功能会消失,被其他功能所取代。你最好的选择可能是这样的。
另外,你可以用一个简单的try来包装你的导入,这样应该可以捕获语法错误。而且,对于@Heikki'的观点,这段代码可以兼容更老的python版本。
sys.version给你提供了你想要的东西,只要选择第一个数字就可以了 :)