这个问题是关于如何从扩展模块(即用C编写的)中检测用于执行扩展模块的Python解释器的版本。
作为背景,在Python扩展模块中直接获取编译扩展的Python版本。您可以使用包含标准Python标头Python.h
时包含的macros defined in patchlevel.h
之一(例如宏PY_VERSION
)。
我的问题是,是否可以从扩展模块中获取当前用于运行扩展的解释器的运行时版本。例如,如果意外地使用Python 2.5来运行针对Python 2.7编译的扩展模块,我希望能够在扩展模块内的运行时检测到它。具体来说,我们假设扩展模块是针对Python 2.7编译的。
答案 0 :(得分:2)
答案 1 :(得分:2)
返回此Python解释器的版本。这是一个类似于
的字符串"1.5 (#67, Dec 31 1997, 22:34:28) [GCC 2.7.2.2]"
第一个单词(直到第一个空格字符)是当前的Python版本;前三个字符是由句点分隔的主要和次要版本。返回的字符串指向静态存储;调用者不应修改其值。该值可用作
sys.version
的Python代码。