API 和 ABI 版本管理¶
CPython 透過以下巨集 (macro) 公開其版本號。請注意,對應到的是建置 (built) 所用到的版本,並不一定是運行時期 (run time) 所使用的版本。
關於跨版本 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
。0xA
代表 alpha 版本、0xB
代表 beta 版本、0xC
為發布候選版本、0xF
則為最終版。
-
PY_RELEASE_SERIAL
¶ 在
3.4.1a2
中的2
。零則為最終發布版本。
-
PY_VERSION_HEX
¶ 被編碼為單一整數的 Python 版本號。
所代表的版本資訊可以用以下規則將其看做是一個 32 位元數字來獲得:
位元組串
位元(大端位元組序 (big endian order))
意義
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
代表 hexversion0x030401a2
、3.10.0
代表 hexversion0x030a00f0
。
所有提到的巨集都定義在 Include/patchlevel.h。