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 en 3.4.1a2.

PY_MINOR_VERSION

El 4 en 3.4.1a2.

PY_MICRO_VERSION

El 1 en 3.4.1a2.

PY_RELEASE_LEVEL

La a en 3.4.1a2. Puede ser 0xA para la versión alfa, 0xB para la versión beta, 0xC para la versión candidata o 0xF para la versión final.

PY_RELEASE_SERIAL

El 2 en 3.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 hexadecimal 0x030401a2 y 3.10.0 es la hexadecimal 0x030a00f0.

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.