Керування версіями API та ABI¶
CPython розкриває номер своєї версії в наступних макросах. Зауважте, що вони відповідають коду версії, з яким зібрано, не обов’язково версії, яка використовується під час виконання.
Перегляньте Стабільність C API для обговорення стабільності API та ABI у різних версіях.
-
PY_MAJOR_VERSION¶
3в3.4.1a2.
-
PY_MINOR_VERSION¶
4в3.4.1a2.
-
PY_MICRO_VERSION¶
1в3.4.1a2.
-
PY_RELEASE_LEVEL¶
aв3.4.1a2. Це може бути0xAдля альфа-версії,0xBдля бета-версії,0xCдля кандидата на випуск або0xFдля фіналу.
-
PY_RELEASE_SERIAL¶
2в3.4.1a2. Нуль для остаточних випусків.
-
PY_VERSION_HEX¶
Номер версії Python, закодований одним цілим числом.
Базову інформацію про версію можна знайти, розглядаючи її як 32-розрядне число таким чином:
Байти
Біти (великий порядок байтів)
Значення
Значення для
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¶
- Part of the Stable ABI since version 3.11.
Версія середовища виконання Python, представлена як єдина ціла константа, у тому ж форматі, що й макрос
PY_VERSION_HEX. Містить версію Python, що використовується під час виконання.Added in version 3.11.
Усі вказані макроси визначено в Include/patchlevel.h.