Что означает ошибка "pip не является внутренней или внешней командой"
Полный текст в командной строке Windows выглядит так:
"pip" не является внутренней или внешней
командой, исполняемой программой или пакетным файлом.
В английской Windows это 'pip' is not recognized as an internal or external command, а в PowerShell: pip: Имя "pip" не распознано как имя командлета, функции, файла сценария или выполняемой программы. Смысл везде один: Windows перебрала все папки из переменной PATH и не нашла в них файл pip.exe.
Сам pip при этом почти всегда установлен. Он лежит в подпапке Scripts рядом с Python, просто эта подпапка не прописана в PATH. Поэтому ошибка лечится настройкой, а не переустановкой, хотя переустановка тоже помогает.
Быстрое решение за 10 секунд: python -m pip
Если нужно поставить пакет прямо сейчас, вызовите pip через интерпретатор. Флаг -m запускает модуль pip из того Python, который вы указали, и PATH к папке Scripts не нужен.
python -m pip install requests
# если не работает python, через лаунчер
py -m pip install requests
Этот способ официально рекомендует документация pip, особенно на Windows. Он еще и надежнее: вы точно знаете, в какую версию Python ставится пакет.
Если и python, и py выдают ту же ошибку, значит, Python не установлен или не попал в PATH целиком. Тогда начните с инструкции как установить Python на Windows, там подробно разобрана галочка Add python.exe to PATH.
Как найти причину: 4 команды для диагностики
Откройте новое окно cmd и выполните по очереди:
where python
where pip
py -0
py -c "import sys; print(sys.executable)"
where pythonпоказывает все найденные python.exe. Если единственная строка ведет в...\Microsoft\WindowsApps, это заглушка Microsoft Store, а настоящего Python в PATH нет.where pipна проблемной системе выдаст "Не удается найти файлы по заданным шаблонам". Это подтверждает, что Scripts не в PATH.py -0перечисляет версии, которые видит лаунчер. Если версии есть, Python установлен.- Последняя команда выводит точный путь к python.exe. Папка Scripts лежит рядом с ним.
Загляните в эту папку Scripts в Проводнике. Если там есть pip.exe, осталось добавить путь в PATH. Если папки нет или она пустая, pip не установлен, и нужен ensurepip.
Причины ошибки и способы исправления
| Причина | Как распознать | Решение |
|---|---|---|
| Папка Scripts не в PATH | python работает, pip нет, pip.exe в Scripts есть | Добавить Scripts в PATH |
| Python вообще не в PATH | python тоже не находится, py работает | Добавить обе папки или переустановить с галочкой PATH |
| pip не установлен | Папки Scripts нет или в ней нет pip.exe | python -m ensurepip --upgrade |
| Терминал открыт до изменения PATH | В новом окне все работает | Перезапустить терминал или редактор |
| Несколько версий Python | pip ставит пакеты не туда, where выводит несколько путей | py -3.14 -m pip и порядок путей в PATH |
| Python из Microsoft Store или заглушка | Путь содержит WindowsApps | Отключить псевдонимы выполнения приложений |
Как добавить pip в PATH на Windows 10 и 11
- Узнайте путь к Python командой
py -c "import sys; print(sys.executable)". Например:C:\Users\Ivan\AppData\Local\Programs\Python\Python314\python.exe. - Нажмите Win и введите "Изменение системных переменных среды". В открывшемся окне нажмите "Переменные среды".
- В блоке переменных пользователя выделите
Pathи нажмите "Изменить". - Нажмите "Создать" и вставьте папку с python.exe. Затем еще раз "Создать" и вставьте ту же папку с окончанием
\Scripts. - Поднимите обе строки выше строки с WindowsApps.
- Нажмите OK во всех окнах, закройте все терминалы и редакторы и откройте новый cmd.
- Проверьте:
pip --version.
Указывайте именно папку, а не файл. Строка ...\Scripts\pip.exe в PATH работать не будет.
Совет: не используйте команду setx PATH "%PATH%;...", которую советуют на старых форумах. Она склеивает системный и пользовательский PATH в один и обрезает результат до 1024 символов. После этого могут перестать работать другие программы. Редактор переменных в графическом окне безопаснее.
Если pip не установлен: ensurepip и переустановка
Бывает, что при выборочной установке сняли галочку pip, или Python собран без него. В стандартную библиотеку входит модуль ensurepip, который ставит pip из комплекта:
python -m ensurepip --upgrade
python -m pip install --upgrade pip
Если ensurepip не помог, запустите установщик Python еще раз (тот же файл .exe или через "Установленные приложения" - Изменить), выберите Modify, отметьте pip, на следующем экране включите Add Python to environment variables и нажмите Install. Удалять Python для этого не нужно.
С новым Python install manager pip ставится вместе с каждой версией. Если ошибка появилась после перехода на менеджер, выполните py install --configure: он проверит настройку и предложит добавить свой каталог с командами в PATH.
pip при нескольких версиях Python
Когда в системе стоят, например, 3.12 и 3.14, команда pip относится к той версии, чья папка Scripts стоит в PATH выше. Отсюда классическая ситуация: пакет установлен, но import выдает ModuleNotFoundError, потому что код запускается другим интерпретатором.
Правило, которое снимает проблему: ставьте пакеты той же командой, которой запускаете код.
py -3.14 -m pip install requests
py -3.14 main.py
python -m pip show requests # куда установлен пакет
Еще надежнее работать в виртуальном окружении: внутри него pip и python всегда из одной папки, и PATH к глобальному Python вообще не важен. Как его создать, описано в статье о виртуальном окружении venv и requirements.txt.
Ошибка pip в bat-файлах, планировщике и CI
Отдельный случай - когда в терминале все работает, а bat-файл, задача Планировщика Windows или сборка в CI падает с той же ошибкой. Причины обычно такие:
- Python поставлен в том же скрипте. Тихая установка с ключом
PrependPath=1меняет PATH в реестре, но текущий процесс cmd об этом не знает. Новые значения появятся только в следующем окне. - Задача запускается от другого пользователя. Пользовательский PATH у учетной записи SYSTEM или служебного пользователя свой, и вашей папки Scripts там нет.
- Агент CI использует свой образ. На нем может стоять другая версия Python или его нет совсем.
Решение для всех трех случаев одно: в скриптах не полагайтесь на PATH, указывайте интерпретатор явно.
@echo off
set PY=C:\Python314\python.exe
"%PY%" -m pip install -r requirements.txt
"%PY%" main.py
Такой bat-файл работает одинаково в любом окне, в планировщике и от любого пользователя, у которого есть доступ к папке C:\Python314. Если проект использует виртуальное окружение, подставьте путь к .venv\Scripts\python.exe.
Ошибка в VS Code, PyCharm и на Linux
VS Code и PyCharm
Встроенный терминал редактора получает PATH при запуске редактора. Если вы поправили переменные среды, а VS Code был открыт, перезапустите его полностью, иначе ошибка останется. Также проверьте выбранный интерпретатор: в VS Code это Python: Select Interpreter в палитре команд, в PyCharm раздел Python Interpreter в настройках проекта.
Linux и macOS: pip: command not found
Аналог ошибки на Unix-системах. Варианты решения:
- Попробуйте
pip3илиpython3 -m pip: во многих дистрибутивах команда pip без цифры отсутствует. - В Debian и Ubuntu pip ставится отдельным пакетом:
sudo apt install python3-pip. - Если pip ругается на externally-managed-environment, ставьте пакеты в виртуальное окружение, а не в системный Python.
Больше команд терминала для новичков собрано в материале команды Linux для начинающих, а все статьи по языку - в разделе Python.
