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
3dans3.4.1a2.)
-
PY_MINOR_VERSION¶
Le
4dans3.4.1a2.
-
PY_MICRO_VERSION¶
Le
1dans3.4.1a2.)
-
PY_RELEASE_LEVEL¶
The
ain3.4.1a2. This can be0xAfor alpha,0xBfor beta,0xCfor release candidate or0xFfor final.
-
PY_RELEASE_SERIAL¶
Le
2dans3.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.1a21
1-8
PY_MAJOR_VERSION0x032
9-16
PY_MINOR_VERSION0x043
17-24
PY_MICRO_VERSION0x014
25-28
PY_RELEASE_LEVEL0xA29-32
PY_RELEASE_SERIAL0x2Ainsi,
0x030401a2est la version en notation hexadécimale sur un entier de3.4.1a2et0x030a00f0est la version en notation hexadécimale sur un entier de3.10.0Vous 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.