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 :
Octets
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
Vous pouvez l'utiliser pour les comparaisons numériques, par exemple,
#if PY_VERSION_HEX >= ...
.This version is also available via the symbol
Py_Version
.
-
const unsigned long Py_Version¶
- Part of the Stable ABI since version 3.11.
La version à l'exécution de Python est encodée en une constante, avec le même format que la macro
PY_VERSION_HEX
. Cela contient la version de Python utilisée lors de l'exécution.Nouveau dans la version 3.11.
Toutes les macros données sont définies dans Include/patchlevel.h.