Баннер мобильный (3) Пройти тест

Как проверить версию Python: инструкция на все случаи жизни

Доверяй, но проверяй!

Разбор

31 августа 2026

Поделиться

Скопировано
Как проверить версию Python: инструкция на все случаи жизни

Содержание

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

    В статье разберем, как быстро проверить версию Python разными способами: начнем с командной строки и встроенных инструментов, а затем посмотрим, как узнать версию интерпретатора в виртуальном окружении, IDE и Docker-контейнере.

    Почему важно знать версию Python

    Язык Python активно развивается и в новых его версиях постоянно появляются новые возможности. Добавляются новые функции, улучшается работа действующих компонентов, а устаревшие компоненты удаляются насовсем или заменяются на новые. Так, например, функция raw_input была заменена на input. Или еще можно привести пример того же print, который работал как оператор в Python 2, а в Python 3 стал уже функцией.

    Если вы запустите код, написанный под Python 3.8, на Python 2.7, он почти наверняка не заработает из-за большого различия в синтаксисе, встроенных функциях и работе стандартной библиотеки. То же самое бывает и между точечными релизами внутри одной большой версии: код, использующий новые конструкции из Python 3.12, может не запуститься на 3.9.

    Кроме того, многие библиотеки указывают минимальную версию Python, с которой они совместимы. Если вы устанавливаете библиотеку, которая требует Python 3.10, а у вас стоит 3.8 — система либо откажется ее устанавливать, либо установит старую версию, либо позже вы получите кучу ошибок при запуске. Поэтому проверка версии Python — это достаточно важная часть работы любого разработчика, создающего проекты на языке программирования Python.

    Расскажем немного о структуре номеров версий Python. Для примера возьмем версию 3.12.3 и пробежимся по каждой ее составляющей:

    • 3 — Мажорная версия (Major). Глобальное поколение языка. Изменение этой цифры означает кардинальные перемены и возможную потерю обратной совместимости. Например, старый код на Python 2 не запустится на Python 3 без переработки.
    • 12 — Минорная версия (Minor). Функциональное обновление. Выпускается раз в год и добавляет в Python новые возможности, синтаксис и модули. При этом сохраняется обратная совместимость с прошлыми минорными версиями (код от 3.11 без проблем заработает на 3.12).
    • 3 — Микро-версия или Патч (Micro/Patch). Сервисное обновление. Содержит только исправления ошибок (багов) и закрытие уязвимостей безопасности. Новые функции здесь не появляются.

    Помимо этого, в нумерации версий могут встречаться суффиксы a, b, rc, dev. Что они означают? Эти суффиксы указывают на то, что данная версия еще находится в разработке. Подробнее о суффиксах:

    • a — это альфа-версия. Разработка только началась и возможны серьезные ошибки.
    • b — бета-версия. Здесь уже реализованы все функции, но могут встречаться некоторые некритичные ошибки.
    • rc (pre, preview) — релиз-кандидат. Кандидат на финальную версию. Осталось только протестировать его перед выпуском.
    • dev — это обозначение для сборок, выпускаемых в процессе разработки. Обычно они нестабильные.

    Например, запись 3.15.0b4 обозначает четвертую бета-версию Python 3.15.0, а 3.15.0rc1 — это первый релиз-кандидат, ну, а 3.15.0 — это уже стабильная версия, выпуск которой запланирован на 1 октября 2026 года.

    Как проверить версию Python в командной строке

    Этот способ самый популярный и заключается в использовании команды python с флагом —version или с его краткой формой -V. Открываем терминал (в Linux) или командную строку (в Windows) и вводим следующую команду:

    python --version

    Или ту же команду, но с применением сокращенной формы флага:

    python -V

    Тут следует учитывать, что во многих операционных системах команда python может указывать на Python второй версии, который во многих системах сейчас удален и заменен на Python третьей версии. Поэтому надежнее будет использовать такую команду:

    python3 --version

    Или такую:

    python3 -V

    В обоих случаях в консоли получим примерно такой вывод:

    Python 3.12.3

    Если, например, попробовать использовать команду python —version в дистрибутиве Linux Mint версии 22.3, которая на данный момент является самой свежей, то в консоли получим следующее:

    Команда «python» не найдена. Возможно, вы имели в виду:
      команда 'python3' из deb-пакета python3
      команда 'python' из deb-пакета python-is-python3

    В последней строчке нам дают подсказку установить пакет python-is-python3. Этот пакет создает символическую ссылку для команды python, которая начинает указывать на интерпретатор Python третьей версии. Это может быть полезным для запуска старых скриптов, использующих команду python вместо python3.

    В ОС Windows для проверки версии Python, помимо вышеуказанных команд, удобно также использовать специальный лаунчер py:

    py --version

    Чтобы проверить конкретную версию (например, 3.12), надо в командной строке ввести:

    py -3.12 --version

    Далее рассмотрим еще один способ.

    Интерактивный режим интерпретатора

    Если ввести в терминале команду python3 без всяких флагов, то запустится сам интерпретатор. Вводим команду:

    python3

    И видим приветственное сообщение интерпретатора, где в самом начале указана версия:

    Python 3.12.3 (main, Jun 19 2026, 12:46:00) [GCC 13.3.0] on linux
    Type "help", "copyright", "credits" or "license" for more information.
    >>> 

    А также из этого сообщения можно узнать:

    • версию языка (3.12.3);
    • дату сборки;
    • компилятор (GCC 13.3.0);
    • платформу (linux).

    Чтобы выйти из интерактивного режима, потребуется ввести команду exit() или применить горячие клавиши Ctrl+D (в Linux или macOS), либо Ctrl+Z и Enter (в Windows).

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

    Модули sys и platform

    Если версию Python необходимо узнать прямо в коде, то для этого можно использовать модуль sys. Этот модуль обеспечивает доступ к параметрам и функциям самого интерпретатора. Вот так легко и просто можно получить некоторые сведения о версии:

    import sys
    
    print(sys.version)

    Вывод будет примерно таким:

    3.12.3 (main, Jun 19 2026, 12:46:00) [GCC 13.3.0]

    Для более структурированного вывода информации о версии можно использовать sys.version_info:

    import sys
    
    print(sys.version_info)

    В консоли получим:

    sys.version_info(major=3, minor=12, micro=3, releaselevel='final', serial=0)

    Применение sys.version_info может быть полезно для проверки совместимости. Простой пример:

    import sys
    
    if sys.version_info >= (3, 10):
        print("Эта версия подходит")
    else:
        print("Нужна версия 3.10 или выше")

    Такой подход часто используют в установщиках, скриптах сборки и тестах, чтобы гарантировать, что код запускается на подходящей версии Python. Также для проверки версии Python можно использовать модуль platform. Он выдает лаконичный вывод только номера версии:

    import platform
    
    print(platform.python_version())

    Вывод:

    3.12.3

    Это бывает полезно, когда нужно сохранить только номер версии в лог, передать его в отчет или сравнить номера версий без лишней информации.

    Проверка через pip

    Pip — это стандартная система управления пакетами в языке программирования Python. Для проверки версии Python вводим такую команду:

    pip --version

    Или такую:

    pip3 --version

    Команда pip может указывать как на вторую версию Python, так и на третью. А вот pip3 всегда привязана к третьей версии. И в том и в другом случае вывод в консоли будет примерно следующий:

    pip 24.0 from /usr/lib/python3/dist-packages/pip (python 3.12)

    Показанный способ проверки не является основным, но он бывает полезен, когда вы хотите убедиться, что pip соответствует тому Python, который вы собираетесь использовать. Особенно актуально при работе с виртуальными окружениями: если pip указывает на один Python, а python —version — на другой, значит, что-то настроено не так.

    Пакетные менеджеры

    Python в Linux часто устанавливается через пакетные менеджеры. Менеджер apt — это удобный высокоуровневый менеджер, который умеет скачивать программы из интернета и сам решает проблемы с зависимостями, используя под капотом dpkg. Менеджер dpkg — это базовый низкоуровневый инструмент для работы с отдельными пакетами на системах вроде Debian и Ubuntu. В системах, использующих apt (Debian, Ubuntu, Linux Mint, Pop!_OS), версию Python легко узнать следующим образом:

    apt show python3

    В консоль будет выведено достаточно много информации. Помимо версии, будет показано имя пакета, его приоритет, информация о мейнтейнере и многое другое. Вот так примерно выглядит около половины консольного вывода для вышеприведенной команды:

    Package: python3
    Version: 3.12.3-0ubuntu2.1
    Priority: important
    Section: python
    Source: python3-defaults
    Origin: Ubuntu
    Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
    Original-Maintainer: Matthias Klose <doko@debian.org>
    Bugs: https://bugs.launchpad.net/ubuntu/+filebug
    Installed-Size: 82,9 kB

    Через утилиту dpkg можно посмотреть список всех установленных в системе пакетов, в названии или описании которых есть текст «python3». Для этого понадобится такая команда:

    dpkg -l | grep python3

    На выходе получится довольно внушительный список, в котором много раз попадается номер версии Python (3.12.3). Покажем только начало этого списка:

    ii  libpython3-dev:amd64                                     3.12.3-0ubuntu2.1                                amd64        header files and a static library for Python (default)
    ii  libpython3-stdlib:amd64                                  3.12.3-0ubuntu2.1                                amd64        interactive high-level object-oriented language (default python3 version)
    ii  libpython3.12-dev:amd64                                  3.12.3-1ubuntu0.15                               amd64        Header files and a static library for Python (v3.12)
    ii  libpython3.12-minimal:amd64                              3.12.3-1ubuntu0.15                               amd64        Minimal subset of the Python language (version 3.12)
    ii  libpython3.12-stdlib:amd64                               3.12.3-1ubuntu0.15                               amd64        Interactive high-level object-oriented language (standard library, version 3.12)
    ii  libpython3.12t64:amd64                                   3.12.3-1ubuntu0.15                               amd64        Shared Python runtime library (version 3.12)

    DNF — это современный пакетный менеджер, который умеет устанавливать, удалять и обновлять программное обеспечение с автоматическим решением зависимостей и конфликтов. В системах, которые используют DNF (Fedora, RHEL, Rocky Linux, РЕД ОС), версию Python можно посмотреть при помощи такой команды:

    dnf info python3

    Важно понимать, что эти способы показывают только версию пакета, а не версию активного интерпретатора. В системе может быть установлен пакет python3.11, но по умолчанию запускаться python3.12 из другого источника, например, из pyenv или из пользовательской сборки.

    Поиск пути к интерпретатору

    Иногда важно сначала найти, какой именно исполняемый файл Python используется. То есть, проще говоря, найти путь до интерпретатора Python. В дистрибутивах Linux и в macOS для этого можно пользоваться такой командой:

    which python3

    Или такой:

    command -v python3

    А потом уже узнавать версию, используя полученный путь. Если, допустим, вывод предыдущих команд был такой:

    /usr/bin/python3

    То узнать версию именно этого интерпретатора можно так:

    /usr/bin/python3 -V

    В Windows для того чтобы получить путь до исполняемого файла Python, используется следующая команда:

    where python

    Или такая (работает только в PowerShell):

    Get-Command python | Select-Object -ExpandProperty Source

    Зная точный путь, можно проверить версию именно этого интерпретатора, что особенно важно при наличии нескольких версий и сложных путей до исполняемого файла.

    Менеджеры версий

    Pyenv — это специализированный менеджер версий, созданный исключительно для Python. Он перехватывает команды вызова Python и подставляет нужную версию в зависимости от того, в какой папке вы находитесь. Узнать версию Python с его помощью очень просто. Вот такой командой можно узнать текущую версию:

    pyenv version

    А эта команда покажет все установленные через pyenv версии:

    pyenv versions

    Asdf — это универсальный (мульти-язычный) менеджер версий, который управляет вообще любыми инструментами через систему плагинов. Сам по себе asdf — это пустая оболочка. Пользователь должен установить плагин для нужного языка (например, Python, Ruby, Go), и только тогда инструмент сможет управлять его версиями. Узнать текущую версию Python через этот менеджер можно при помощи следующей команды:

    asdf current python

    А так выводится список всех установленных версий:

    asdf list python

    Эти менеджеры версий могут быть очень полезны при работе над проектами, где требуются разные версии Python или других языков.

    Виртуальные окружения

    В виртуальных окружениях работают те же самые команды python, pip и т.д., которые мы рассмотрели выше. Если виртуальное окружение активировано, то они будут ссылаться на интерпретатор этого окружения. В Windows, если используется cmd, окружение активируется следующей командой:

    myenv\Scripts\activate.bat

    В случае, если используется PowerShell, то вводить надо такую команду:

    .\myenv\Scripts\Activate.ps1

    Для Linux и macOS команда для активации виртуального окружения имеет такой вид:

    source myenv/bin/activate

    После активации проверить версию Python можно, например, такой уже знакомой командой:

    python --version

    В неактивированном окружении придется напрямую обращаться к исполняемому файлу Python. В Windows это делается так:

    myenv\Scripts\python.exe --version

    А в Linux и macOS так:

    ./myenv/bin/python --version

    Docker-контейнеры

    Docker-контейнер — это готовый, изолированный и легкий программный модуль. В нем есть все для работы программы: код, нужные файлы, библиотеки и настройки. Способ проверки версии Python зависит от того, запущен контейнер в данный момент или нет. Если контейнер остановлен, то можно использовать следующую команду:

    docker run --rm <image_name> python --version

    А если контейнер запущен, то эту:

    docker exec -it <container_name_or_id> python --version

    Также можно провести проверку через интерактивный режим внутри контейнера. Для этого надо сначала подключиться к терминалу контейнера:

    docker exec -it <container_name_or_id> sh

    А потом уже произвести проверку версии:

    python -V

    Выйти из контейнера можно через команду exit.

    Подведем итоги

    • Проверка версии Python перед запуском кода помогает избежать ошибок из‑за возможной несовместимости синтаксиса и библиотек.  
    • Для быстрой проверки версии Python используют команды python3 —version или py —version, а также интерактивный режим интерпретатора.  
    • Для программной проверки версии Python в коде применяют модули sys или platform — это удобно для автоматической валидации совместимости.
    • При проверке версии Python через пакетные менеджеры надо учитывать, что отображается версия пакета, а не обязательно активного интерпретатора.  
    • Проверка версии Python с помощью менеджеров версий позволяет точно определить, какая версия задействована в текущем проекте.  
    • В виртуальных окружениях и Docker‑контейнерах проверку версии Python проводят внутри среды или после активации окружения, чтобы убедиться в корректности используемой версии.

    Разбор

    Поделиться

    Скопировано
    0 комментариев
    Комментарии