Содержание
  1. Почему команда python не распознаётся в cmd и как исправить PATH
  2. Как проверить, установлен ли Python и какая версия активна
  3. Как добавить Python и Scripts в переменную PATH в Windows
  4. Почему pip не работает и как запустить его через python -m pip
  5. Что делать, если python не видит pip после установки
  6. Как исправить ошибку при pip install (SSL, права, прокси, кэш)
  7. Почему скрипт .py открывается и сразу закрывается при двойном клике
  8. Как запустить Python-файл правильно через консоль и не дать окну закрыться
  9. Почему Python открывает браузер и сразу закрывает его, как исправить
  10. Как настроить ассоциацию файлов .py и убрать запуск через неправильную программу
  11. Что делать, если Python не запускается вообще: переустановка и проверка установщика
  12. Как отличить проблему установки Python от проблемы конкретного скрипта или IDE
  13. Частые вопросы
  14. Что запомнить
Гайды

Python не работает: почему и как исправить

20 сентября 2026 · 15 минут чтения

Материал редакции Зерокодера. Счёт по выдаче снят собственным прогоном 20 сентября 2026 года; цитаты источников приведены дословно. Обновлено: сентябрь 2026.

Скачали топ-10 Яндекса по запросу «python не работает»: текст отдали 8 из 10. Медиана объёма читаемого текста топа — 2328 слов. Метку 2026 года несут 5 из 8 прочитанных страниц. Мы скачали топ-10 Яндекса по запросу «python не работает»: текст отдали 8 из 10.

Если коротко: «python не работает» — это почти всегда не поломка языка, а расхождение между тем, где лежит интерпретатор, и тем, куда смотрит система. Команда python не найдена — значит, путь к интерпретатору не прописан в PATH. pip не запускается — значит, вызывается не тот pip или его нет в PATH. Скрипт закрывается мгновенно — значит, окно консоли завершилось вместе с процессом, а ошибку вы не успели прочитать. Ниже — разбор по каждому случаю с командами и проверками.

Почему команда python не распознаётся в cmd и как исправить PATH

Windows ищет исполняемые файлы по списку каталогов в переменной PATH. Если каталог с python.exe в этот список не попал, cmd отвечает, что команда не является внутренней или внешней. В гайде на GitHub по этой ошибке разбираются случаи, когда не работают команды python3, python, py, pip, pip3 — то есть симптом общий для всего набора.

Причина обычно одна из трёх:

  • Python не установлен вовсе.
  • Установлен, но галочка добавления в PATH при установке снята.
  • Установлено несколько версий, и в PATH прописана не та, что нужна.

В обсуждении на Stack Overflow (перевод через Яндекс) автор пишет: «Note: I have Python 2.7 and Python 3.2 installed on my computer». Это типичный источник путаницы: команда python может указывать на старую версию, пока вы ждёте новую.

Проверить, что видит система, можно командой where python в cmd. Она вернёт все найденные пути. Если вывод пуст — PATH не настроен. Если путей несколько — активна та версия, чей каталог стоит выше в списке.

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

Базовая проверка — две команды:

КОД2 строки
python --version
py --version

Первая обращается к тому, что найдено в PATH. Вторая — к лаунчеру py, который в Windows хранит реестр установленных версий независимо от PATH. Если python --version даёт ошибку, а py --version отвечает номером, значит интерпретатор на диске есть, а PATH не настроен.

В руководстве devhops.site разбирается ситуация с несколькими версиями: «Например, у Вас установлены версии 2.7 и 3.5», и дальше отмечено, что «почему-то работает версия 2.7». Там же указано, что в такой схеме второй Python «вызывается командой python а третий Python командой python3». Это поведение Unix-подобных систем; в Windows картина другая, и её стоит проверять отдельно.

В обсуждении на Хабре Q&A говорят прямо: Питон запускается командой python; python3 в Windows для этого не нужен. Для Windows это верно — python3 там обычно не создаётся как отдельная команда.

Полезно посмотреть, куда указывает активный интерпретатор:

КОД
python -c "import sys; print(sys.executable)"

Этот путь и нужно будет добавить в PATH, если он не совпадает с ожидаемым.

Как добавить Python и Scripts в переменную PATH в Windows

Порядок действий:

  1. Откройте «Параметры системы» → «Дополнительные параметры системы» → «Переменные среды».
  2. В разделе пользовательских переменных найдите Path и нажмите «Изменить».
  3. Добавьте два каталога: корень установки Python и подкаталог Scripts внутри него.

В ответе на Хабре Q&A описан ровно этот шаг: «Перейди из папки Python38 в папку Scripts и скопируй путь к ней (или просто припиши к предыдущему пути «Scripts\»)». Там же сказано, что при корректной настройке «двумя полями в Пути обязательно будут подобные строчки».

Каталог Scripts нужен отдельно, потому что именно в нём лежат исполняемые файлы pip.exe, pip3.exe и другие консольные утилиты пакетов. Без него команда pip не будет найдена, даже если сам Python работает.

После правки PATH закройте и заново откройте cmd — переменные читаются при старте процесса. Проверка: where python и where pip должны вернуть пути.

Почему pip не работает и как запустить его через python -m pip

pip — это отдельная программа, и она может отсутствовать в PATH, даже когда Python работает. Самый надёжный способ обойти это — вызвать pip как модуль:

КОД2 строки
python -m pip --version
python -m pip install имя_пакета

Такая запись привязывает pip к конкретному интерпретатору. Если у вас несколько версий Python, python -m pip установит пакет именно в ту, что вызывается командой python. Это снимает большую часть путаницы с «pip не видит пакет» и «пакет установлен, а импорт не работает».

В руководстве devhops.site приводится сообщение оболочки: «Command ‘pip’ not found, but there are 18 similar ones». Это ответ системы, которая не нашла исполняемый файл pip, но видит похожие по имени команды. Лечится либо добавлением Scripts в PATH, либо вызовом через python -m pip.

Проверить, какой именно pip отвечает на команду, можно так:

КОД
python -m pip -V

Вывод покажет путь к pip и версию Python, к которой он привязан.

Что делать, если python не видит pip после установки

Ситуация, когда python работает, а pip — нет, обычно означает одно из двух: модуль pip не установлен в этот интерпретатор, либо в PATH есть чужой pip от другой версии.

Проверка:

КОД
python -m ensurepip --version

Команда ensurepip входит в стандартную поставку и умеет доустановить pip в текущий интерпретатор. Если она отвечает версией — модуль на месте, проблема в PATH. Если сообщает об отсутствии — pip нужно поставить.

Второй сценарий — конфликт версий. Когда в PATH первым стоит каталог старого Python, команда pip может запускать pip от него, а пакеты ставиться не туда, где вы их ждёте. В обсуждении на Хабре Q&A встречается диагностика старой ветки: «DEPRECATION: Python 2.7 reached the end of its life on January 1st, 2020», и далее «Please upgrade your Python as Python 2.7 is no longer maintained». Там же указано, что «21.0 will drop support for Python 2.7 in January 2021». Если вы видите такие предупреждения — вы работаете со старой версией, и её pip может вести себя непредсказуемо.

Практический вывод: всегда проверяйте, к какому интерпретатору привязан pip, через python -m pip -V, и ставьте пакеты через python -m pip install.

Как исправить ошибку при pip install (SSL, права, прокси, кэш)

Ошибки установки пакетов делятся на несколько классов, и каждый лечится по-своему.

Симптом Причина Что делать
ReadTimeoutError, Retrying (Retry(total=4...)) Сеть не доходит до pypi.org Проверить прокси, повторить, задать зеркало
Ошибка SSL-сертификата Нет корневых сертификатов или перехват TLS Обновить certifi, проверить настройки прокси
Permission denied Нет прав на запись в каталог пакетов Установка в пользовательский каталог или venv
Битый кэш загрузки Повреждённый файл в кэше pip Очистить кэш и повторить установку

Форум linux.org.ru приводит дословный фрагмент лога: «WARNING: Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connection broken by ‘ReadTimeoutError(«HTTPSConnectionPool(host=’pypi.» — и продолжение: «org’, port=443): Read timed out». Дальше в том же обсуждении счётчик повторов уменьшается: total=3, total=2, total=1. Это признак сетевой недоступности.

Для установки в пользовательский каталог без прав администратора:

КОД
python -m pip install --user имя_пакета

Для очистки кэша:

КОД
python -m pip cache purge

Отдельно стоит помнить про виртуальные окружения: в изолированном окружении пакеты ставятся в него, и системные права не нужны.

Почему скрипт .py открывается и сразу закрывается при двойном клике

Двойной клик по .py запускает интерпретатор, тот выполняет файл и завершается. Окно консоли живёт ровно столько, сколько живёт процесс. Если скрипт отработал за долю секунды, окно исчезнет раньше, чем вы успеете что-то прочитать.

В разборе на python.coderang.dev этому посвящён отдельный материал: «Почему Python скрипт закрывается сразу после запуска и окно исчезает?». Там же отмечена деталь, важная для диагностики: «обычные print идут в стандартный вывод (поток 1), а traceback — в поток ошибок (поток 2)». Если вы перенаправляете только вывод, ошибка в файл не попадёт.

Отсюда два практических следствия. Первое: при двойном клике вы видите только то, что успело мелькнуть, и чаще всего это не текст ошибки. Второе: чтобы увидеть причину, нужно запускать скрипт из уже открытой консоли.

Отдельный случай — когда двойной клик открывает файл в редакторе. Это уже не про Python, а про ассоциацию файлов, и разбирается ниже.

Как запустить Python-файл правильно через консоль и не дать окну закрыться

Правильный запуск — из консоли, которая остаётся открытой:

КОД2 строки
cd C:\путь\к\папке
python script.py

В материале python.coderang.dev есть отдельный пункт «Как открыть терминал сразу в папке со скриптом» — это избавляет от ручного набора пути. Если скрипт падает, traceback останется на экране, потому что консоль не закрывается вместе с процессом.

Чтобы сохранить вывод и ошибку в файл:

КОД
python script.py > out.txt 2>&1

Здесь важна деталь, которую подчёркивает источник: «txt кладёт стандартный вывод в файл, а 2>&1 дополнительно заворачивает туда же поток ошибок». И отдельно: «Порядок важен — 2>&1 пишется после перенаправления вывода». Если поставить 2>&1 перед >, ошибки уйдут не туда. И ещё одно замечание оттуда же: «txt 2>&1 — без 2>&1 traceback в файл не попадёт».

Если нужно, чтобы окно не закрывалось при двойном клике, в конец скрипта добавляют ожидание ввода. Источник разбирает этот приём в пункте «Нужно ли добавлять input() в конец скрипта?». Способ рабочий, но он меняет поведение программы, поэтому для отладки удобнее запуск из консоли.

Читать traceback стоит с последней строки: там указан тип ошибки. В материале python.coderang.dev отмечено: «Стрелки под кодом (Python 3.11 и новее) показывают выражение, которое упало». И там же — важное разграничение: Errno 2 No such file or directory говорит о ненайденном файле, то есть о пути; код при этом может быть исправен. То есть часть ошибок относится к окружению.

Почему Python открывает браузер и сразу закрывает его, как исправить

Сценарий с браузером отличается от консольного. Скрипт запускает браузер, открывает страницу и завершается — процесс Python заканчивается, а вместе с ним может закрыться и окно, которым он управлял. Если скрипт открывает браузер через библиотеку автоматизации, окно живёт, пока живёт процесс драйвера.

Что проверить:

  • Скрипт завершается сам, без ожидания. Добавьте паузу или цикл ожидания в конце.
  • Окно закрывается из-за отсутствия драйвера браузера — тогда в traceback будет ошибка запуска драйвера.
  • Скрипт открывает браузер и падает на следующей строке — ошибка в логе.

Общий принцип тот же, что и с консолью: сначала прочитайте traceback, потом делайте выводы. Запуск из терминала, даёт вам этот текст.

Как настроить ассоциацию файлов .py и убрать запуск через неправильную программу

Когда двойной клик открывает .py в блокноте или другом редакторе, виновата ассоциация файлов в Windows. В материале python.coderang.dev этот случай разобран отдельным пунктом: «Что делать, если двойной клик открывает файл в блокноте?».

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

  1. Правый клик по файлу .py → «Открыть с помощью» → «Выбрать другое приложение».
  2. Укажите python.exe из каталога установки.
  3. Поставьте галочку «Всегда использовать это приложение».

Альтернатива — через «Параметры» → «Приложения» → «Приложения по умолчанию» → «Выбор стандартных приложений по типу файла», найти .py и назначить интерпретатор.

Стоит помнить, что ассоциация влияет только на двойной клик. Запуск из консоли командой python script.py от неё не зависит и работает всегда, когда PATH настроен.

Что делать, если Python не запускается вообще: переустановка и проверка установщика

Если не работает ни python, ни py, ни запуск из консоли — интерпретатора на диске либо нет, либо он повреждён. В гайде на GitHub этому посвящён отдельный раздел «Правильная переустановка», а также раздел «Python не установлен – Windows/MacOS/Linux».

Порядок действий:

  1. Проверьте наличие каталога установки. Если его нет — ставьте заново.
  2. При установке на Windows отметьте галочку добавления Python в PATH в первом же окне установщика.
  3. После установки закройте все окна cmd и откройте новое — переменные читаются при старте.
  4. Проверьте python --version и py --version.

Если установщик завершается с ошибкой, стоит проверить, не блокирует ли его антивирус или политики системы. В обсуждении на linux.org.ru описана ситуация, когда недоступен не только pypi, но и другие ресурсы: «org у меня и в браузере не открывается». Там же отмечено: «100% софта и документации необходимой мне для работы уже года два как недоступны». Это крайний случай сетевой изоляции, и он объясняет, почему установка может не проходить при полностью исправном установщике.

Если доступность конкретных ресурсов из вашей сети не подтверждена, проверяйте её отдельно: откройте адрес в браузере и сравните с поведением pip.

Как отличить проблему установки Python от проблемы конкретного скрипта или IDE

Разделить эти классы помогает простой тест. Создайте файл test.py с одной строкой:

PYTHON
print("ok")

Дальше:

Что проверяем Команда Что означает результат
Интерпретатор в PATH python --version Ошибка — проблема установки
Запуск файла python test.py Печатает ok — интерпретатор исправен
Модуль pip python -m pip --version Ошибка — проблема pip, не Python
Запуск в IDE Run → Run Module (F5) Ошибка при рабочем python test.py — проблема IDE

В инструкции Skillfactory по запуску программ на Python приведены способы запуска в разных средах. Для IDLE инструкция велит выполнить программу через Run → Run Module (F5). Для другой среды: «Откройте файл, который хотите выполнить, и нажмите Run на панели инструментов вверху (Shift + F10)». Если в IDE скрипт не идёт, а из консоли тот же файл работает — дело в настройках интерпретатора внутри IDE.

Там же описана причина, по которой версия в IDE может отличаться от ожидаемой: «Такое происходит, когда на компьютере установлено сразу несколько версий языка, например Python 3.10 и Python 3.13». IDE хранит собственный указатель на интерпретатор, и его нужно выставить вручную в настройках проекта.

Отдельный класс — ошибки в самом коде. Учебник Умскул перечисляет типовые: NameError, SyntaxError, TypeError, AttributeError, ValueError, IndentationError, IndexError. Там же отмечено про отступы: «Табуляцию можно проставить двумя способами — с помощью пробелов (по традиции используются 4 пробела ) или с помощью табов». Смешивание этих способов в одном файле даёт TabError. Такие ошибки не связаны с установкой и воспроизводятся на любом исправном интерпретаторе.

Ещё один пример из того же источника — опечатка в имени переменной: «с = 256 print(c)». Код выглядит безобидно, но падает с NameError, потому что имя набрано кириллической буквой. Это ошибка скрипта, и переустановка Python её не исправит.

Частые вопросы

Почему в cmd python не работает, хотя я его установил?

Скорее всего, каталог с python.exe не добавлен в PATH. Проверьте командой where python — если вывод пуст, путь не прописан. Добавьте корень установки и подкаталог Scripts в переменную Path через параметры системы. После правки закройте и заново откройте cmd.

Python не видит pip — что делать?

Вызовите pip как модуль: python -m pip --version. Если команда отвечает версией, проблема только в PATH — добавьте Scripts в переменную. Если модуль отсутствует, запустите python -m ensurepip. Ставьте пакеты через python -m pip install, чтобы привязка к интерпретатору была явной.

Почему python не работает pip install и выдаёт ошибку сети?

Сообщения вида ReadTimeoutError и Retrying (Retry(total=4...)) означают, что соединение с pypi.org не устанавливается. Проверьте прокси и доступность адреса в браузере. Повторите установку, при необходимости очистите кэш командой python -m pip cache purge. Ошибка SSL обычно связана с сертификатами или перехватом TLS.

Не открывается файл python, сразу закрывается — как исправить?

Запускайте скрипт из уже открытой консоли: python script.py. Тогда traceback останется на экране. Чтобы сохранить вывод и ошибку в файл, используйте python script.py > out.txt 2>&1 — порядок важен, 2>&1 пишется после перенаправления вывода. Читайте traceback с последней строки.

Python сразу закрывает браузер как исправить?

Скрипт завершается и уносит с собой окно, которым управлял. Добавьте ожидание в конце программы или запустите её из терминала, чтобы увидеть traceback. Если падает драйвер браузера, ошибка будет в логе. Проверьте, что процесс не завершается сам до открытия страницы.

Что запомнить

Порядок диагностики от простого к сложному: проверьте python --version, затем where python, затем python -m pip --version. Если интерпретатор отвечает, а pip нет — дело в PATH или в привязке pip к версии. Если не отвечает ни то, ни другое — смотрите установку и PATH. Если работает из консоли, но не из IDE — настройте интерпретатор в IDE. Если падает конкретный скрипт — читайте traceback, начиная с последней строки.

Для работы с кодом в браузере без локальной установки подойдёт тренажёр: в материале python.coderang.dev отмечено, что «В тренажёре Python Arena скрипт выполняется в песочнице Python 3.12, а результат и traceback остаются на экране целиком — окно закрывать некому». Это удобно для проверки кода, когда локальное окружение ещё не настроено.

Если вы разбираетесь с окружением под задачи автоматизации и работы с моделями, посмотрите материалы блога: Function calling: как LLM вызывает внешние функции и Visual Studio: что это и для чего нужна.

Читайте также

3 материала