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

Раздел: Python -> Отладка и тестирование

Основные способы проверки установки Python

Как быстро проверить, что Python установлен и доступен в командной строке?

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

python --version

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

Python 3.12.2

Python проверка (проверка кода python)

Типичная проблема: сообщение "python: command not found" означает, что интерпретатор либо не установлен, либо его каталог не добавлен в переменную среды PATH. Решение: установить Python с официального сайта и при установке отметить галочку "Add Python to PATH". На Linux может потребоваться установка пакета python3 через менеджер пакетов.

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

Как проверить версию Python, используя короткий флаг -V?

Вместо полного --version можно использовать короткий флаг -V (заглавная V). Результат идентичен.

python -V

тест кодов python (тестирование кода python)

Python 3.12.2

проверить программу python (проверить программу на python)

Ошибки: некоторые старые версии Python могут не поддерживать флаг -V, хотя обычно он работает. Если команда не найдена, проблема аналогична основной.

Цель: сокращение ввода, удобно для быстрых проверок.

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

Запустите однострочный скрипт: python -c "import sys; print(sys.version)". Команда -c позволяет выполнить переданный код. Функция sys.version возвращает полную строку с номером версии, датой сборки и компилятором.

python -c "import sys; print(sys.version)"

исправить ошибки в кодах python (исправление ошибок в коде python)

3.12.2 (main, Feb  6 2024, 20:34:43) [GCC 12.3.0]
Ошибки: если Python не установлен, команда выдаст ошибку. В Windows двойные кавычки внутри строки могут конфликтовать с кавычками командной строки. Рекомендуется использовать одинарные кавычки в Linux/macOS или избегать их.

Цель: получение более полной информации, чем просто номер версии; может использоваться в автоматизированных скриптах.

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

Используйте sys.version_info, который возвращает именованный кортеж с полями major, minor, micro. Это удобно для проверок совместимости в коде.

python -c "import sys; v = sys.version_info; print(f'{v.major}.{v.minor}.{v.micro}')"
3.12.2
Ошибки: использование несуществующих полей (например, v.releaselevel) может вызвать AttributeError, но они есть в info. Важно помнить, что sys.version_info доступен с Python 2.7 и выше.

Цель: интеграция проверки версии в скрипты, чтобы обеспечить совместимость с разными релизами Python.

Как узнать, откуда именно запускается Python?

Команда which python (на Linux/macOS) или where python (на Windows) покажет полный путь к исполняемому файлу интерпретатора. Это помогает понять, какая версия будет вызвана, если установлено несколько.

which python
/usr/bin/python
Ошибки: если Python не найден, команда не выведет ничего в Linux/macOS и выдаст сообщение "Could not find files for the given pattern(s)" в Windows. Возможно, Python не добавлен в PATH.

Цель: локализация интерпретатора, особенно при работе с несколькими версиями или виртуальными окружениями.

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

Наряду с самим Python, часто требуется pip. Выполните pip --version или pip3 --version.

pip --version
pip 24.0 from /usr/lib/python3.12/site-packages/pip (python 3.12)
Проблемы: если pip не установлен, выводится ошибка "pip: command not found". Решение: установить pip через менеджер пакетов или с помощью python -m ensurepip --upgrade. В некоторых дистрибутивах Linux pip отсутствует в базовой установке.

Цель: проверка наличия инструмента для управления зависимостями, необходимого для большинства проектов.

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

Первый пример демонстрирует использование утилиты py в Windows для отображения всех установленных версий.

Пример
py -0
Installed Pythons found by py Launcher for Windows
 -3.12-64 *
 -3.11-64
 -2.7-64

Второй пример - полноценный скрипт, собирающий всю ключевую информацию об установке Python.

Пример
import sys, platform, os
import subprocess

print(f"Python version: {sys.version}")
print(f"Version info: {sys.version_info}")
print(f"Executable path: {sys.executable}")
print(f"Platform: {platform.platform()}")
print(f"Architecture: {platform.architecture()[0]}")

result = subprocess.run([sys.executable, "-m", "pip", "--version"], capture_output=True, text=True)
pip_status = result.stdout.strip() if result.returncode == 0 else "not found"
print(f"pip: {pip_status}")
Python version: 3.12.2 (main, Feb  6 2024, 20:34:43) [GCC 12.3.0]
Version info: sys.version_info(major=3, minor=12, micro=2, releaselevel='final', serial=0)
Executable path: /usr/local/bin/python3.12
Platform: Linux-5.15.0-91-generic-x86_64-with-glibc2.35
Architecture: 64bit
pip: pip 24.0 from /usr/local/lib/python3.12/site-packages/pip (python 3.12)

Третий пример анализирует переменную окружения PATH на наличие каталогов, содержащих слово "python".

Пример
import os
paths = os.environ.get('PATH', '').split(os.pathsep)
python_paths = [p for p in paths if 'python' in p.lower()]
for path in python_paths:
    print(path)
/usr/local/bin
/home/user/.local/bin

Четвёртый пример показывает, как из другого скрипта вызвать команду проверки версии и проанализировать её результат.

Пример
import subprocess
cmd = ['python', '--version']
result = subprocess.run(cmd, capture_output=True, text=True)
print("Exit code:", result.returncode)
print("Output:", result.stdout)
print("Error:", result.stderr)
Exit code: 0
Output: Python 3.12.2

Error:

Пятый пример проверяет Shebang в исполняемом скрипте на Unix-подобных системах. Содержимое файла test.py:

Пример
#!/usr/bin/env python3
import sys
print(f"Running with Python {sys.version}")

Запуск и вывод:

Пример
chmod +x test.py && ./test.py
Running with Python 3.12.2

Шестой пример иллюстрирует работу в среде conda - просмотр окружений и версии Python в активном окружении.

Пример
conda info --envs
python --version
# conda environments:
#
base                  *  /opt/anaconda3
myenv                    /opt/anaconda3/envs/myenv

Python 3.11.5

Седьмой пример показывает работу с pyenv - список установленных версий и текущая активная версия.

Пример
pyenv versions
  system
  3.8.10
  3.11.5
  3.12.2 (set by /home/user/.python-version)

Проверка установки Python - comments

En
проверить python (python)