Ошибка «"python" не является внутренней или внешней командой, исполняемой программой или пакетным файлом» появляется в командной строке Windows, когда система не может найти исполняемый файл введённой команды. Тот же текст выдаётся для git, node, ffmpeg, javac и любой другой утилиты, путь к которой командный интерпретатор не знает.
Механика проста: cmd.exe ищет введённое имя сначала среди встроенных команд (dir, cd, copy), затем в текущей папке, а после — во всех каталогах, перечисленных в системной переменной PATH. Если файл не найден ни в одном из этих мест, вы получаете именно это сообщение. Ниже разберём, как быстро определить причину и устранить её без переустановки системы.
Что означает эта ошибка и когда она возникает
Сообщение появляется в трёх типовых ситуациях. Первая — программа вообще не установлена на компьютере, и Windows честно сообщает, что такого файла не существует. Вторая — программа установлена, но её папка не добавлена в PATH, поэтому команда работает только из каталога установки. Третья — опечатка в имени команды или лишние кавычки, из-за которых интерпретатор воспринимает текст иначе.
Отдельный случай — команда работала вчера, а сегодня перестала. Обычно это следствие изменения переменных среды: установщик другой программы перезаписал PATH, либо переменную отредактировали вручную с ошибкой. Также ошибка возникает, если запустить командную строку до установки программы и не перезапустить её после: уже открытое окно cmd не подхватывает обновлённые переменные среды.
Шаг 1. Проверка опечаток и синтаксиса
Начните с самого простого. Убедитесь, что имя команды написано правильно: python, а не pyhton; ipconfig, а не ipconfing. Регистр букв в Windows не важен, а вот порядок символов — критичен.
- 🔍 Проверьте, нет ли лишних пробелов в начале или конце команды.
- 📋 Если путь к файлу содержит пробелы, заключите его целиком в кавычки:
"C:\Program Files\App\app.exe". - ⌨️ Скопируйте имя команды из официальной документации, а не набирайте по памяти.
- 🔄 Попробуйте сокращённый вариант, если он предусмотрен: например,
pyвместоpythonдля лаунчера Python в Windows.
Если команда скопирована с веб-страницы, в неё могли попасть нестандартные символы — длинное тире вместо дефиса или «ёлочки» вместо прямых кавычек. Наберите команду вручную, чтобы исключить этот вариант.
Шаг 2. Проверка, установлена ли программа
Выполните поиск исполняемого файла вручную. Откройте «Проводник» и проверьте типичные каталоги установки: C:\Program Files, C:\Program Files (x86), а также папку пользователя C:\Users\Имя\AppData\Local\Programs. Для Python, например, файл python.exe часто лежит именно в последнем пути.
Быстрая проверка прямо из командной строки — команда where, которая ищет файл по тем же правилам, что и cmd:
where python
where git
Если в ответ вы видите путь к файлу — программа установлена и доступна, значит проблема в чём-то другом (например, в опечатке). Если выводится сообщение о том, что файлы не найдены, программу нужно установить либо искать её папку вручную.
Шаг 3. Проверка и настройка переменной PATH
Чтобы увидеть текущее содержимое PATH, выполните:
echo %PATH%
Найдите в выводе папку с вашей программой. Если её там нет — добавьте. Для этого откройте Панель управления → Система → Дополнительные параметры системы → Переменные среды (либо нажмите Win + R и введите sysdm.cpl, затем вкладка «Дополнительно»). В списке системных или пользовательских переменных выберите Path и нажмите «Изменить», затем «Создать» и укажите полный путь к папке с исполняемым файлом — именно к папке, а не к самому exe-файлу.
☑️ Правильное добавление пути в PATH
⚠️ Внимание: при редактировании PATH не удаляйте существующие строки и не вставляйте путь поверх чужих значений. Потеря системных путей вроде C:\Windows\System32 сломает работу многих стандартных команд. Перед правкой скопируйте текущее значение переменной в текстовый файл как резервную копию.
После любого изменения переменных среды необходимо закрыть и заново открыть окно командной строки — уже запущенные процессы не получают обновлённые значения PATH. Это самая частая причина, почему «я всё прописал, а ошибка осталась».
Шаг 4. Временное решение — запуск с полным путём
Если настраивать PATH пока не хочется, вызовите программу по полному адресу. Перетащите exe-файл из Проводника прямо в окно командной строки — путь подставится автоматически, либо укажите его вручную:
"C:\Users\Имя\AppData\Local\Programs\Python\Python312\python.exe" --version
Также можно временно добавить папку в PATH только для текущего сеанса командной строки:
set PATH=%PATH%;C:\путь\к\папке
Этот вариант удобен для разовой проверки: после закрытия окна cmd изменение исчезнет, а системные настройки останутся нетронутыми. Если с полным путём программа запускается, а по короткому имени — нет, диагноз подтверждён: дело именно в PATH.
Типичные причины ошибки для популярных программ
У разных инструментов свои особенности установки, которые влияют на появление ошибки:
| Программа | Частая причина | Что проверить |
|---|---|---|
| Python | При установке не отмечена галочка «Add Python to PATH» | Переустановить с отмеченной опцией или добавить папку вручную |
| Git | Выбран вариант использования только из Git Bash | Переустановить, выбрав «Git from the command line» |
| Node.js / npm | Окно cmd открыто до завершения установки | Перезапустить терминал |
| Java (javac) | Установлена JRE без JDK либо не настроен путь к bin | Установить JDK и добавить папку bin в PATH |
| ffmpeg | Архив распакован, но папка bin не добавлена в PATH | Добавить путь к bin вручную |
⚠️ Внимание: скачивайте установщики только с официальных сайтов проектов. Сторонние «сборки» могут содержать устаревшие версии или вредоносный код, а нестандартная структура папок в них усложнит настройку PATH.
Если ошибка появляется в пакетном файле или у другой учётной записи
Когда команда работает вручную, но «не является внутренней или внешней» при запуске из .bat-файла или планировщика задач, причина обычно в контексте выполнения. Скрипт может запускаться от имени другого пользователя или системной учётной записи, у которой свой набор переменных среды. Пользовательская переменная Path при этом недоступна — используйте системную или указывайте в скрипте полные пути к исполняемым файлам.
Ещё один нюанс — относительные пути внутри bat-файла считаются от текущего рабочего каталога, который при запуске через планировщик может отличаться от папки скрипта. Надёжнее задавать в начале файла явный переход:
cd /d "%~dp0"
Эта строка переводит рабочий каталог в папку, где лежит сам bat-файл, независимо от того, откуда он был вызван.
Чем PATH пользователя отличается от системного PATH
Windows объединяет обе переменные: сначала идут каталоги из системного Path, затем — из пользовательского. Системный Path действует для всех учётных записей компьютера, пользовательский — только для текущей. Если программой пользуются несколько пользователей или она запускается службами, добавляйте путь в системную переменную (требуются права администратора).
Когда ничего не помогает
Если путь добавлен, терминал перезапущен, а ошибка сохраняется, проверьте следующее. Во-первых, не редактировали ли вы PATH с ошибкой: лишняя точка с запятой подряд или незакрытая кавычка могут «обрезать» часть переменной. Во-вторых, убедитесь, что обращаетесь к той разрядности программы, которая установлена, и что сам exe-файл действительно существует по указанному пути — иногда установка прерывается, и папка остаётся пустой или неполной.
В крайнем случае выполните чистую переустановку программы с официального установщика, внимательно читая экраны мастера: многие из них предлагают автоматически прописать PATH, и эту опцию легко пропустить. После установки откройте новое окно командной строки и сразу проверьте команду с ключом версии, например python --version или git --version.
⚠️ Внимание: не копируйте чужие exe-файлы в C:\Windows\System32 ради «быстрого исправления» — так делают в сомнительных инструкциях из интернета. Это засоряет системный каталог, создаёт конфликты версий и потенциально опасно. Правильный способ — настройка PATH.
Часто задаваемые вопросы
Почему команда работает в PowerShell, но не работает в cmd?
Обычно дело в том, что одно из окон было открыто до установки программы или изменения PATH, а другое — после. Закройте оба терминала и откройте заново. Также проверьте, не используете ли вы алиас, который существует только в профиле PowerShell.
Как проверить, что путь добавлен в PATH правильно?
Откройте новое окно командной строки и выполните echo %PATH% — ваша папка должна присутствовать в списке. Затем выполните where имя_команды: если утилита выводит полный путь к exe-файлу, настройка прошла успешно.
Нужно ли перезагружать компьютер после изменения PATH?
Для командной строки достаточно закрыть и снова открыть окно терминала. Перезагрузка может потребоваться только для программ и служб, которые были запущены до изменения переменных и не перечитывают окружение в процессе работы.
Ошибка возникает для встроенных команд вроде ping или ipconfig — в чём дело?
Это признак повреждённой переменной PATH: из неё пропал системный каталог C:\Windows\System32. Откройте настройку переменных среды и верните этот путь в системный Path, после чего перезапустите командную строку.
Можно ли исправить ошибку без прав администратора?
Да. Добавьте путь в пользовательскую переменную Path вместо системной — для этого права администратора не требуются. Команда будет работать под вашей учётной записью, но не под другими пользователями компьютера.