这个问题是关于如何从扩展模块(即用 C 编写的模块)中检测用于执行扩展模块的 Python 解释器的版本。

作为背景,在 Python 扩展模块中很容易获取编译扩展所针对的 Python 版本。您可以只使用包含标准 Python 头文件 patchlevel.h (例如宏 Python.h )时包含的 macros defined in PY_VERSION 之一。

我的问题是是否有可能从扩展模块中在运行时获取当前用于运行扩展的解释器的版本。例如,如果意外使用 Python 2.5 运行针对 Python 2.7 编译的扩展模块,我希望能够在运行时从扩展模块中检测到它。为了具体起见,我们假设扩展模块是针对 Python 2.7 编译的。

最佳答案

使用 Py_GetVersion() API :

关于python - 如何从 Python 扩展模块中获取当前运行的 Python 解释器的版本?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20223704/

10-12 16:32
查看更多