Version des API et ABI¶
CPython révèle son numéro de version dans les macros suivantes. À noter qu'ils correspondent au code de la version compilée avec, pas nécessairement la version utilisée à l'exécution.
Voir Stabilité de l’API C pour une discussion sur la stabilité des API et ABI entre (ou en fonction) de la version.
-
PY_MAJOR_VERSION
¶ Le
3
dans3.4.1a2
.)
-
PY_MINOR_VERSION
¶ Le
4
dans3.4.1a2
.
-
PY_MICRO_VERSION
¶ Le
1
dans3.4.1a2
.)
-
PY_RELEASE_LEVEL
¶ The
a
in3.4.1a2
. This can be0xA
for alpha,0xB
for beta,0xC
for release candidate or0xF
for final.
-
PY_RELEASE_SERIAL
¶ Le
2
dans3.4.1a2
. Nul pour des versions finales.
-
PY_VERSION_HEX
¶ Le numéro de version de Python encodé en un seul entier.
L'information sur la version sous-jacente peut être trouvée en la traitant comme un nombre sous 32 bits de la manière suivante:
Bytes
Bits (ordre gros-boutiste)
Signification
Valeur pour
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
Ainsi,
0x030401a2
est la version en notation hexadécimale sur un entier de3.4.1a2
et0x030a00f0
est la version en notation hexadécimale sur un entier de3.10.0
Toutes les macros données sont définies dans Include/patchlevel.h.