这个问题是关于如何从扩展模块(即用 C 编写的)中检测用于执行扩展模块的 Python 解释器的版本。
作为背景,在 Python 扩展模块中很容易获得编译扩展所针对的 Python 版本。在包含标准 Python 标头(例如宏)时,您可以只使用其中定义的宏之一。patchlevel.h
Python.h
PY_VERSION
我的问题是是否有可能从扩展模块中获取运行时当前用于运行扩展的解释器版本。例如,如果意外使用 Python 2.5 运行针对 Python 2.7 编译的扩展模块,我希望能够在运行时从扩展模块中检测到这一点。具体而言,假设扩展模块是针对 Python 2.7 编译的。