Определение установленной версии интерпретатора Python

Раздел: Управление окружением -> Установка и настройка Python

Способы определения версии Python

Основной способ узнать версию Python, установленную в системе, заключается в использовании команды терминала:

python --version

Python 3 проверка (проверка версии python 3)

или сокращённый вариант:

python -V

Python 32 бит (python 32-битная версия)

Команда выводит строку вида Python 3.12.0. Если в системе одновременно присутствуют Python 2 и Python 3, может потребоваться уточнение:

python3 --version

установка python скачать (скачивание и установка python)

На платформе Windows также доступна команда py с указанием версии:

py -3.11 --version

как проверить версию python (как проверить версию python)

Типичные ошибки:

  • Если команда python не найдена, проверяется переменная PATH или используется полный путь к интерпретатору.
  • На некоторых дистрибутивах Linux команда python может отсутствовать, а python3 установлена. В таком случае следует обращаться именно к python3.
  • Ошибка 'python' is not recognized as an internal or external command в Windows возникает, если интерпретатор не добавлен в PATH или не установлен.

Как узнать версию Python из кода скрипта?

Самый распространённый способ внутри программы - использовать модуль sys.

import sys
print(sys.version)

как проверить есть ли python (как проверить, установлен ли python)

Вывод содержит полную информацию: номер версии, дату компиляции, тип сборки.

3.12.0 (tags/v3.12.0:0fb18b0, Oct  7 2023, 13:03:39) [MSC v.1935 64 bit (AMD64)]

Проблема:

Если требуется только номер версии без дополнительных деталей, лучше использовать sys.version_info или platform.python_version().

Как получить версию Python в виде строки для сравнения?

Функция platform.python_version() из одноимённого модуля возвращает только номер версии.

import platform
print(platform.python_version())
3.12.0

Для программного сравнения удобно использовать кортеж platform.python_version_tuple():

import platform
ver = platform.python_version_tuple()  # ('3', '12', '0')
if ver >= ('3', '12'):
    print("Поддерживается Python 3.12 и выше")

Как убедиться, что виртуальное окружение использует нужную версию Python?

Активировав виртуальное окружение, достаточно выполнить команду проверки версии внутри него.

# Создание виртуального окружения с указанием интерпретатора
python3.11 -m venv myenv
# Активация (Linux/macOS)
source myenv/bin/activate
# Проверка версии
python --version
Python 3.11.7

В Windows активация выполняется командой myenv\Scripts\activate.

Ошибка:

Если после активации окружения версия отличается от ожидаемой, значит, виртуальное окружение было создано с другим интерпретатором. Рекомендуется пересоздать его, явно указывая путь к нужному исполняемому файлу Python.

Как посмотреть версию интерпретатора в среде разработки?

В PyCharm версия отображается в строке состояния справа внизу или в настройках проекта (Settings → Project → Python Interpreter). В VS Code версия показывается в нижнем левом углу, а также в списке интерпретаторов (Ctrl+Shift+P → Python: Select Interpreter).

Как программно сравнить версию Python с требуемой?

Атрибут sys.version_info представляет собой именованный кортеж.

import sys
ver = sys.version_info
print(f"Major: {ver.major}, Minor: {ver.minor}, Micro: {ver.micro}")
if ver >= (3, 10):
    print("Код совместим с Python 3.10+")
Major: 3, Minor: 12, Micro: 0
Код совместим с Python 3.10+

Как быстро вывести версию Python без написания скрипта?

Однострочная команда с флагом -c позволяет выполнить код прямо в терминале.

python -c "import sys; print(sys.version)"
3.12.0 (tags/v3.12.0:0fb18b0, Oct  7 2023, 13:03:39) [MSC v.1935 64 bit (AMD64)]

Для получения только номера:

python -c "import platform; print(platform.python_version())"
3.12.0

Расширенные примеры проверки версии Python

Ниже приведены дополнительные сценарии и подробные примеры с пояснениями.

Пример
# Пример 1: условное выполнение кода в зависимости от версии
import sys

if sys.version_info.major == 3 and sys.version_info.minor >= 11:
    # Использование match-case (доступно с Python 3.10)
    match sys.platform:
        case 'win32':
            print("Работаем в Windows")
        case 'linux':
            print("Работаем в Linux")
else:
    print("Требуется Python 3.11+ для использования match-case")
Требуется Python 3.11+ для использования match-case
Пример
# Пример 2: получение версии через platform модуль с разбором
import platform

version_tuple = platform.python_version_tuple()  # ('3', '12', '0')
major, minor, patch = int(version_tuple[0]), int(version_tuple[1]), int(version_tuple[2])
print(f"Python {major}.{minor}.{patch}")
Python 3.12.0
Пример
# Пример 3: проверка версии интерпретатора внутри виртуального окружения
# Создадим временное окружение и выведем его версию
import subprocess
import tempfile
import os

# Создание временного каталога
with tempfile.TemporaryDirectory() as tmpdir:
    venv_path = os.path.join(tmpdir, 'myenv')
    # Создаём виртуальное окружение с Python 3.11 (если установлен)
    subprocess.run(['python3.11', '-m', 'venv', venv_path], capture_output=True)
    # Определяем путь к интерпретатору внутри окружения
    if os.name == 'nt':
        python_exe = os.path.join(venv_path, 'Scripts', 'python.exe')
    else:
        python_exe = os.path.join(venv_path, 'bin', 'python')
    # Получаем версию
    result = subprocess.run([python_exe, '--version'], capture_output=True, text=True)
    print(result.stdout.strip())
Python 3.11.7
Пример
# Пример 4: проверка версии через переменную окружения
# В некоторых окружениях версия Python может быть указана в PYTHON_VERSION
import os
print(os.environ.get('PYTHON_VERSION', 'Не задана'))
3.12.0
Пример
# Пример 5: вывод версии в формате major.minor (без патча)
import sys
print(f"{sys.version_info.major}.{sys.version_info.minor}")
3.12
Пример
# Пример 6: проверка версий всех установленных интерпретаторов (Windows)
# Использование py -0 для отображения списка
import subprocess
result = subprocess.run(['py', '-0'], capture_output=True, text=True, shell=True)
print(result.stdout)
 -3.12-64 *
 -3.11-64
 -3.10-64
Пример
# Пример 7: получение детальной информации через sys.version_info
import sys
info = sys.version_info
print(f"major: {info.major}, minor: {info.minor}, micro: {info.micro}")
print(f"releaselevel: {info.releaselevel}, serial: {info.serial}")
major: 3, minor: 12, micro: 0
releaselevel: final, serial: 0
Пример
# Пример 8: сравнение версий с помощью packaging.version (если установлена библиотека)
# pip install packaging
from packaging.version import Version

v1 = Version("3.10.0")
v2 = Version("3.11.5")
if v1 <= v2:
    print(f"{v1} меньше или равно {v2}")
3.10.0 меньше или равно 3.11.5

Как проверить версию Python - comments

En
как проверить версию python (python)