API 和 ABI 版本控制 — Python 文档

来自菜鸟教程
Python/docs/3.10/c-api/apiabiversion
跳转至:导航、​搜索

API 和 ABI 版本控制

CPython 在以下宏中公开其版本号。 请注意,这些对应的版本代码是 built with,不一定是 运行时 使用的版本。

有关跨版本的 API 和 ABI 稳定性的讨论,请参阅 C API 稳定性

PY_MAJOR_VERSION
3.4.1a2中的3
PY_MINOR_VERSION
3.4.1a2中的4
PY_MICRO_VERSION
3.4.1a2中的1
PY_RELEASE_LEVEL
3.4.1a2中的a。 这可以是 alpha 的 0xA、beta 的 0xB、候选版本的 0xC 或最终版的 0xF
PY_RELEASE_SERIAL
3.4.1a2中的2。 最终版本为零。
PY_VERSION_HEX

以单个整数编码的 Python 版本号。

可以通过以下方式将其视为 32 位数字来找到底层版本信息:

字节

位(大端顺序)

意义

3.4.1a2 的值

1

1-8

PY_MAJOR_VERSION

0x03

2

9-16

PY_MINOR_VERSION

0x04

3

17-24

PY_MICRO_VERSION

0x01

4

25-28

PY_RELEASE_LEVEL

0xA

29-32

PY_RELEASE_SERIAL

0x2

因此,3.4.1a2 是十六进制版本 0x030401a2,而 3.10.0 是十六进制版本 0x030a00f0

所有给定的宏都在 :source:`Include/patchlevel.h` 中定义。