Версии API и ABI
CPython раскрывает свой номер версии в следующих макросах. Обратите внимание, что эти значения соответствуют версии, с которой был составлен код, а не обязательно версии, используемой во время выполнения.
См. Стабильность API C для обсуждения стабильности API и ABI между версиями.
-
PY_MAJOR_VERSION Главная версия в
3.4.1a2.
-
PY_MINOR_VERSION Дополнительная версия в
3.4.1a2.
-
PY_MICRO_VERSION Минорная версия в
3.4.1a2.
-
PY_RELEASE_LEVEL Уровень выпуска в
3.4.1a2. Может быть0xAдля альфа-версии,0xBдля бета-версии,0xCдля кандидата на выпуск или0xFдля финальной версии.
-
PY_RELEASE_SERIAL Серийный номер выпуска в
3.4.1a2. Ноль для финальных релизов.
-
PY_VERSION_HEX Номер версии Python, закодированный в одном целочисленном значении.
Базовая информация о версии может быть получена путем обработки ее как 32-битного числа следующим образом:
Байты
Биты (порядок big endian)
Значение
Значение для
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_SERIAL0x2Таким образом,
3.4.1a2— это шестнадцатеричная версия0x030401a2, а3.10.0— шестнадцатеричная версия0x030a00f0.Используйте это для числовых сравнений, например,
#if PY_VERSION_HEX >= ....Эта версия также доступна через символ
Py_Version.
-
const unsigned long Py_Version - Часть Стабильного ABI с версии 3.11.
Номер версии среды выполнения Python, закодированный в одном целочисленном значении, с тем же форматом, что и макрос
PY_VERSION_HEX. Это содержит версию Python, используемую во время выполнения.Добавлен в версии 3.11.
Все указанные макросы определены в Include/patchlevel.h.
© 2001–2024 Python Software Foundation
Licensed under the PSF License.
https://docs.python.org/3.12/c-api/apiabiversion.html