APIとABIのバージョン管理
CPythonは、次のマクロでバージョン番号を公開します。 これらは、ビルドのバージョンコードに対応していることに注意してください。必ずしも実行時で使用されているバージョンである必要はありません。
バージョン間のAPIとABIの安定性については、 CAPIの安定性を参照してください。
- 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
、ベータの場合は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
はhexversion0x030401a2
であり、3.10.0
はhexversion0x030a00f0
です。
指定されたすべてのマクロは、:source: `Include / patchlevel.h` で定義されています。