Python отсутствует в системе: причины и пошаговая инструкция по решению

Раздел: Python -> Ошибки и исключения

Основная причина и универсальное решение

Ошибка Python не найден в системе (или no installed python found) возникает, когда операционная система не может обнаружить интерпретатор Python в переменной окружения PATH или сам интерпретатор не установлен. Наиболее эффективный способ устранения - установка актуальной версии Python с официального сайта и корректная настройка пути.

  1. Перейти на python.org/downloads и загрузить установщик для своей ОС.
  2. Во время установки обязательно отметить галочку Add Python to PATH (на Windows) или выбрать аналогичную опцию (на macOS/Linux).
  3. После завершения установки открыть командную строку (терминал) и выполнить проверку:
python --version

Client error python (ошибка http-клиента в python)

Python 3.12.3

No installed python found (python не найден в системе)

Если версия отображается - проблема решена. В ином случае перейти к альтернативным решениям.

Как установить Python через официальный установщик, если галочка Add to PATH не была поставлена?

Цель: повторно запустить установщик и выбрать опцию изменения текущей установки (Modify) или переустановить с включённой опцией. Для Windows:

  1. Запустить установщик ещё раз - появится окно с опциями Modify, Repair или Uninstall.
  2. Выбрать Modify → в списке компонентов убедиться, что Add Python to environment variables включено.
  3. Нажать Next до завершения.

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

Типичная ошибка: после установки команда python всё ещё не находится. Решение - проверить переменные окружения вручную (см. следующий вариант).

Как добавить Python в PATH вручную?

Цель: прописать путь к каталогу с python.exe (Windows) или исполняемому файлу (Linux/macOS) в переменную PATH.

Windows:

  1. Найти расположение Python. Обычно это C:\Users\Имя\AppData\Local\Programs\Python\Python312\ или C:\Python312\.
  2. Открыть Системные свойстваДополнительные параметры системыПеременные среды.
  3. В разделе Системные переменные найти Path, нажать ИзменитьСоздать и вставить полный путь к папке Python, а также путь к папке Scripts внутри неё (например, C:\Users\Имя\AppData\Local\Programs\Python\Python312\Scripts).
  4. Нажать ОК во всех окнах, перезапустить командную строку.
echo %PATH%

Python traceback using (трассировка ошибок в python)

C:\Users\...\Python312\;C:\Users\...\Python312\Scripts;...

Python pip not found (ошибка 'pip not found' в python)

Linux / macOS:

  1. Определить путь к интерпретатору, например /usr/bin/python3 или /usr/local/bin/python3.
  2. Отредактировать файл ~/.bashrc (или ~/.zshrc), добавив строку:
export PATH="/usr/local/bin:$PATH"

Unable to locate package python (ошибка 'unable to locate package' в python)

  1. Применить изменения: source ~/.bashrc.

Проблема: после добавления пути команда python может ссылаться на другую версию или не существовать. На Linux часто требуется указывать python3 вместо python. Решение - создать псевдоним (alias python=python3) или установить пакет python-is-python3.

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

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

Примеры команд для поиска:

where python

File not found python (ошибка filenotfounderror в python)

where python3

Python modulenotfounderror no module named (ошибка modulenotfounderror)

where py

Io error python (ошибка ввода-вывода в python)

На Windows также можно воспользоваться запуском py - это программа-загрузчик, которая автоматически находит установленный Python:

py --version

ошибка компиляции python (ошибка компиляции (синтаксиса) в python)

Python 3.12.3

Python traceback (трассировка стека в python)

Проблема: Сообщение Python не найден может появляться, если используется псевдоним python для Microsoft Store. Windows 10/11 по умолчанию предлагает установку из Store вместо вызова настоящего интерпретатора. Решение - отключить этот псевдоним в Параметры → Приложения → Псевдонимы приложений или явно указывать путь к установленной версии.

Как установить Python через менеджер пакетов (apt, brew, chocolatey)?

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

Ubuntu/Debian (Linux):

sudo apt update
sudo apt install python3 python3-pip

Script not found python (ошибка 'script not found')

macOS (Homebrew):

brew install python

List out of range python (ошибка indexerror: list index out of range в python)

Windows (Chocolatey):

choco install python

Python codec can t decode byte (ошибка декодирования байтов в python)

После установки проверить:

python3 --version

Python file exceptions (исключения файлов в python)

На Linux и macOS для вызова Python 3 часто нужно вводить python3, так как python может ссылаться на Python 2, если он ещё присутствует.

Проблема: На macOS версия из Homebrew может не переопределить системный Python, если его нет в PATH до /usr/bin. Рекомендуется проверить порядок путей в переменной PATH и, при необходимости, переместить путь от Homebrew выше.

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

Цель: установить и переключаться между разными версиями Python без конфликтов в PATH.

  1. Установить pyenv (Linux/macOS):
curl https://pyenv.run | bash

Python no module named pip (ошибка 'no module named pip' в python)

  1. Добавить строки в ~/.bashrc:
export PYENV_ROOT="$HOME/.pyenv"
command -v pyenv >/dev/null || export PATH="$PYENV_ROOT/bin:$PATH"
eval "$(pyenv init -)"

Python externally managed environment (ошибка externally managed environment в python)

  1. Перезагрузить терминал и установить нужную версию:
pyenv install 3.11.5
pyenv global 3.11.5

Python error code 1 (ошибка python с кодом 1)

  1. Проверить:
python --version

Line in module python ошибка (ошибка в строке модуля python)

Python 3.11.5

Проблема: после установки pyenv команда python может по-прежнему показывать системную версию, если shims не активированы. Решение - проверить, что eval "$(pyenv init -)" выполняется после обновления PATH.

- Module python ошибка (ошибка модуля в python)
- Python open errors (ошибки при открытии файлов в python)

Расширенные примеры и сценарии

Автоматическая проверка и установка Python через скрипт (Windows PowerShell)

Сценарий: требуется развернуть среду на новой машине, где Python может отсутствовать. Используется скрипт PowerShell, который проверяет наличие Python; если его нет - загружает и устанавливает последнюю версию тихо.

Пример
# check_python.ps1
$pythonInstalled = Get-Command python -ErrorAction SilentlyContinue
if (-not $pythonInstalled) {
    Write-Host "Python не обнаружен. Загрузка установщика..."
    $url = "https://www.python.org/ftp/python/3.12.3/python-3.12.3-amd64.exe"
    $installer = "$env:TEMP\python-installer.exe"
    Invoke-WebRequest -Uri $url -OutFile $installer
    Start-Process -FilePath $installer -ArgumentList "/quiet InstallAllUsers=1 PrependPath=1" -Wait
    Write-Host "Установка завершена. Проверка..."
    & python --version
} else {
    Write-Host "Python уже установлен:"
    python --version
}
Python не обнаружен. Загрузка установщика...
Установка завершена. Проверка...
Python 3.12.3

Использование Docker-контейнера с Python для изоляции

Сценарий: когда установка Python на хост-систему нежелательна или невозможна (например, в общих окружениях). Docker позволяет запустить Python-скрипт внутри контейнера, не затрагивая хост.

Пример
# docker_run_python.sh
#!/bin/bash
docker run --rm -v "$(pwd):/app" -w /app python:3.12-slim python -c "print('Python работает внутри контейнера')"
Python работает внутри контейнера

Такой подход гарантирует наличие нужной версии Python и всех зависимостей, избегая ошибки "no installed python found" на стороне хоста.

Настройка псевдонимов (aliases) для путей к Python

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

Пример
# ~/.zshrc
alias mypython="/opt/custom/python3.10/bin/python3"
function pyinfo() {
    echo "Используемый интерпретатор:"
    which python3
    python3 --version
}

После перезагрузки:

$ mypython --version
Python 3.10.0
$ pyinfo
Используемый интерпретатор:
/usr/bin/python3
Python 3.11.5

Проверка переменной PATH в скриптах и CI (GitHub Actions)

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

Пример
# .github/workflows/check.yml
name: Check Python
on: [push]
jobs:
  test:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/setup-python@v5
        with:
          python-version: '3.11'
      - run: |
          python --version
          which python
Python 3.11.5
/opt/hostedtoolcache/Python/3.11.5/x64/bin/python

Действие setup-python автоматически добавляет нужную версию в PATH, устраняя ошибку на этапе сборки.

Обработка ошибки "Python was not found" при запуске из Microsoft Store (Windows)

Иногда при вводе python в командной строке Windows показывает сообщение о предложении установки из Store. Это происходит из-за псевдонима, заданного в настройках приложений. Для отключения:

Пример
# Отключение App Execution Aliases через PowerShell
Get-ChildItem "HKCU:\Software\Microsoft\Windows\CurrentVersion\App Paths" | 
    Where-Object {$_.PSChildName -like "python*"} | 
    Remove-Item -Recurse -Force
# Или вручную: Параметры > Приложения > Псевдонимы приложений > отключить "python.exe"

После этого команда python будет обращаться к реальному интерпретатору, если он присутствует в PATH.

Установка Python без прав администратора (локально для пользователя)

Если нет прав на установку в системную область, можно использовать портабельную версию Python (Embedded) или установить через conda в окружение пользователя. Пример загрузки и использования portable Python на Windows:

Пример
# Скачиваем zip с портабельным Python
$url = "https://www.python.org/ftp/python/3.12.3/python-3.12.3-embed-amd64.zip"
$dest = "$env:USERPROFILE\python-portable"
if (-not (Test-Path $dest)) {
    New-Item -ItemType Directory -Path $dest
    Invoke-WebRequest -Uri $url -OutFile "$dest\python.zip"
    Expand-Archive -Path "$dest\python.zip" -DestinationPath $dest
    # Добавляем путь в PATH для текущей сессии
    $env:Path += ";$dest"
}
python --version
Python 3.12.3

Python не найден в системе - comments

En
No installed python found (python)