Versiones de API y ABI¶
CPython expone su número de versión en las siguientes macros. Tenga en cuenta que estos corresponden a la versión con la que se construye el código, no necesariamente la versión utilizada en tiempo de ejecución.
Consulte Estabilidad de la API en C para obtener una discusión sobre la estabilidad de API y ABI en todas las versiones.
-
PY_MAJOR_VERSION¶
El
3
en3.4.1a2
.
-
PY_MINOR_VERSION¶
El
4
en3.4.1a2
.
-
PY_MICRO_VERSION¶
El
1
en3.4.1a2
.
-
PY_RELEASE_LEVEL¶
La
a
en3.4.1a2
. Puede ser0xA
para la versión alfa,0xB
para la versión beta,0xC
para la versión candidata o0xF
para la versión final.
-
PY_RELEASE_SERIAL¶
El
2
en3.4.1a2
, cero para lanzamientos finales.
-
PY_VERSION_HEX¶
El número de versión de Python codificado en un solo entero.
La información de la versión subyacente se puede encontrar tratándola como un número de 32 bits de la siguiente manera:
Bytes
Bits (orden big-endian)
Significado
Valor para
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
Así,
3.4.1a2
es la hexadecimal0x030401a2
y3.10.0
es la hexadecimal0x030a00f0
.Use esto para comparaciones numéricas, por ejemplo
#if PY_VERSION_HEX >= ...
.Esta versión también está disponible a través del símbolo
Py_Version
.
-
const unsigned long Py_Version¶
- Part of the Stable ABI since version 3.11.
El número de versión de Python en tiempo de ejecución codificado en un único entero constante, con el mismo formato que la macro
PY_VERSION_HEX
. Contiene la versión de Python utilizada en tiempo de ejecución.Added in version 3.11.
Todas las macros dadas se definen en Include/patchlevel.h.