Команда python не найдена. Варианты устранения ошибки
Основной способ исправления ошибки: установка и настройка Python
Ошибка python command not found чаще всего возникает, когда интерпретатор Python не установлен в системе или не добавлен в переменную окружения PATH. Наиболее эффективное решение состоит из двух этапов: установка Python и правильная настройка PATH.
Как установить Python и сделать его доступным из командной строки?
Сначала нужно скачать дистрибутив с официального сайта python.org или воспользоваться менеджером пакетов. При установке на Windows важно отметить галочку Add Python to PATH. Если этого не сделать, команда python не будет найдена.
# Windows – установка с официального дистрибутива
# После загрузки python-3.x.x-amd64.exe запустить установку
# Обязательно отметить чекбокс "Add Python to PATH"
# Затем проверить в командной строке
python --versionPython could not find version (python не может найти версию)
Python 3.11.4
Python не является внутренней (python не является внутренней командой)
Типичная ошибка:
Пользователь устанавливает Python, но забывает отметить «Add Python to PATH». В результате после установки команда python не распознаётся. Решение – переустановить Python с включённой опцией или вручную добавить пути в переменную PATH.
Если Python уже установлен, но не виден в PATH, нужно проверить его расположение и добавить пути вручную (см. раздел вариантов).
Вариант 1: Использование команды python3 вместо python (Linux / macOS)
Как вызывать Python, если команда python отсутствует, но есть python3?
На многих дистрибутивах Linux и на macOS Python 3 устанавливается отдельно от Python 2. По умолчанию команда python может быть не назначена. Решение – использовать python3 и pip3.
# Проверка версии Python 3
python3 --version
Name file is not defined python (ошибка nameerror: имя файла не определено python)
Python 3.10.12
Python command not found (команда python не найдена)
# Установка пакета с помощью pip3
pip3 install requestsPython exe can t open file (ошибка открытия exe файла python)
Возможная проблема:
Пользователь привык к команде python и скрипты могут её ожидать. Можно создать символическую ссылку или алиас.
# Создание алиаса (временно)
alias python=python3
# Добавить в ~/.bashrc для постоянного использования
echo "alias python=python3" >> ~/.bashrc
source ~/.bashrcВариант 2: Использование команды py (Windows – Python Launcher)
Как вызывать Python на Windows, если команда python не работает, но установлен лаунчер?
Начиная с Python 3.3 на Windows устанавливается Python Launcher (py.exe). Если PATH не настроен, но лаунчер установлен, команда py может работать.
# Проверка версии через лаунчер
py --versionPython 3.11.4
# Запуск скрипта
py script.pyТипичная ошибка:
Лаунчер тоже может отсутствовать в PATH. Если при вводе py появляется сообщение 'py' is not recognized, нужно переустановить Python с включённой опцией Install Python Launcher.
Вариант 3: Установка Python через менеджер пакетов
Как установить Python, чтобы избежать ручного конфигурирования PATH?
Использование менеджеров пакетов (apt, brew, choco, winget) автоматически добавляет исполняемые файлы в PATH.
# Ubuntu / Debian
sudo apt update
sudo apt install python3 python3-pip
# macOS (Homebrew)
brew install python
# Windows (Chocolatey)
choco install python
# Windows (winget)
winget install Python.Python.3.11Проблема:
В некоторых дистрибутивах Linux менеджер пакетов может установить устаревшую версию Python. Рекомендуется проверять версию после установки.
Вариант 4: Добавление Python в PATH вручную
Что делать, если Python уже установлен, но команда не находится?
Необходимо найти путь к исполняемому файлу Python и добавить его в системную переменную PATH. Пошаговая инструкция для разных ОС.
Windows:
- Найти папку, где установлен Python (обычно
C:\Users\Имя\AppData\Local\Programs\Python\Python311). - Скопировать этот путь и путь к папке
Scripts(та же папка, но подпапка). - Открыть «Системные переменные среды» → Path → «Изменить» → «Создать» → вставить пути.
- Перезапустить командную строку.
# Проверка после добавления
python --versionТипичная ошибка:
Пользователь добавляет путь только к папке Python, но забывает про Scripts, из-за чего pip не работает. Нужно добавлять оба пути.
Linux / macOS:
Можно добавить строку в ~/.bashrc или ~/.zshrc:
export PATH=$PATH:/usr/local/bin/python3
# или указать конкретный каталогВариант 5: Использование виртуального окружения с полным путём
Как работать с Python, если система не видит интерпретатор, но для проекта требуется конкретная версия?
Создание виртуального окружения с указанием полного пути к интерпретатору позволяет избежать зависимости от системной команды python.
# Создание виртуального окружения с указанием Python 3.10
/usr/bin/python3.10 -m venv myenv
# Активация (Linux/macOS)
source myenv/bin/activate
# Активация (Windows PowerShell)
myenv\Scripts\Activate.ps1Проблема:
Если /usr/bin/python3.10 не существует, виртуальное окружение не будет создано. Необходимо сначала установить нужную версию Python.
Вариант 6: Выбор интерпретатора в IDE
Как запускать Python код из редактора, если в терминале команда не находится?
В средах разработки (VS Code, PyCharm) можно явно указать путь к установленному интерпретатору, минуя системный PATH.
VS Code:
- Открыть палитру команд (Ctrl+Shift+P).
- Выбрать Python: Select Interpreter.
- Указать полный путь к
python.exeилиpython3.
# Пример пути в VS Code settings.json
"python.defaultInterpreterPath": "C:\\Users\\Имя\\AppData\\Local\\Programs\\Python\\Python311\\python.exe"Типичная ошибка:
После выбора интерпретатора терминал внутри IDE может продолжать выдавать ошибку, если терминал использует системный PATH. Решение – настроить профиль терминала или запускать скрипты через кнопку Run, которая использует выбранный интерпретатор.
# Пример 1: Полная установка Python из исходников на Linux (Ubuntu 22.04)
# Шаг 1: Установка зависимостей
sudo apt update
sudo apt install -y build-essential zlib1g-dev libncurses5-dev libgdbm-dev libnss3-dev libssl-dev libreadline-dev libffi-dev wget
# Шаг 2: Скачивание исходного кода Python 3.12.0
wget https://www.python.org/ftp/python/3.12.0/Python-3.12.0.tgz
# Шаг 3: Распаковка и компиляция
tar -xf Python-3.12.0.tgz
cd Python-3.12.0
./configure --enable-optimizations
make -j$(nproc)
# Шаг 4: Установка
sudo make altinstall # не перезаписывает системный python
# Шаг 5: Проверка
python3.12 --versionPython 3.12.0
# Пример 2: Добавление Python в PATH через .zshrc на macOS
# Узнать путь к интерпретатору
which python3
# Результат: /usr/local/bin/python3 (если установлен через brew)
# Редактирование конфигурации
echo 'export PATH="/usr/local/opt/python/libexec/bin:$PATH"' >> ~/.zshrc
source ~/.zshrc
# Проверка
python --versionPython 3.11.4
# Пример 3: Использование py -3.10 для указания конкретной версии (Windows)
# Список доступных версий
py --list
# Установка пакета для версии 3.10
py -3.10 -m pip install numpy
# Запуск скрипта с версией 3.10
py -3.10 script.py-3.10-64 Python 3.10 (64-bit)
# Пример 4: Создание виртуального окружения с полным путём и активация
# Указание пути к Python 3.9
/usr/bin/python3.9 -m venv ./project_env
# Активация на Linux
source ./project_env/bin/activate
# Установка пакетов внутри окружения
pip install flask
# Деактивация
deactivate
# Активация на Windows (PowerShell)
.\project_env\Scripts\Activate.ps1(project_env) user@host:~$
# Пример 5: Настройка переменных среды через PowerShell (Windows)
# Добавление пути Python в системную переменную PATH для всех пользователей (требуются права администратора)
$pythonPath = "C:\Users\User\AppData\Local\Programs\Python\Python311"
$scriptsPath = "$pythonPath\Scripts"
[Environment]::SetEnvironmentVariable("Path", [Environment]::GetEnvironmentVariable("Path", "Machine") + ";$pythonPath;$scriptsPath", "Machine")
# Перезагрузка сеанса или перезапуск терминала
# Проверка
python --versionPython 3.11.4
# Пример 6: Проверка наличия Python в Docker контейнере и его установка
# Dockerfile для образа без Python
FROM ubuntu:22.04
RUN apt update && apt install -y python3 python3-pip
COPY script.py /app/
CMD ["python3", "/app/script.py"]
# Сборка и запуск
docker build -t myapp .
docker run myapp(вывод script.py)