#Что произошло и когда проявляется ошибка
В редакторе Python может запускаться через другой интерпретатор, чем в терминале: подсветка импортов, отладка и фактический запуск используют разные настройки, если не выбран единый путь Python.
#Причины и диагностические признаки
| Возможная причина | Как узнать | Что делать |
|---|---|---|
| VS Code выбрал глобальный PythonРасширение Python и отладчик могут быть направлены на иной интерпретатор. | Встроенный терминал импортирует пакет, а кнопка запуска сообщает ModuleNotFoundError | Выбрать интерпретатор рабочего проекта. |
| Открыта не корневая папкаПараметры редактора привязаны к рабочей папке. | Интерпретатор или конфигурация проекта не подхватывается | Открыть корневую папку проекта. |
| Старая конфигурация запускаПараметры запуска или среда конфигурации отличаются. | В обычном терминале всё нормально, отладка не работает | Сверить путь интерпретатора и команду в конфигурации. |
#Подробная пошаговая диагностика и исправление
- 1. Выведите путь Python при фактическом запускеВ начало тестовой копии скрипта добавьте вывод
sys.executableиsys.prefix. Нажмите обычную кнопку запуска редактора, затем выполните тот же скрипт во встроенном терминале; сравните пути. - Пример кода по темеPythonОбразец кода для файла .py в тестовой копии проекта; перед внедрением замените имена файлов на реальные.
import sys print("Интерпретатор:", sys.executable) print("Окружение:", sys.prefix)
- 2. В VS Code выберите нужный интерпретаторОткройте корневую папку проекта: «Файл» → «Открыть папку». Нажмите Ctrl+Shift+P и начните вводить
Python: Select Interpreter; выберите Python из.venvили укажите его путь. Название команды зависит от установленного расширения Python; при её отсутствии установите официальное расширение или используйте настройки своей среды разработки.
- 3. Повторно сравните пути и пакетыЗакройте старые терминалы и откройте новый после выбора интерпретатора. Введите
python -c ...и сравните с выводом отладки. Если пакет отсутствует именно в выбранной среде, используйтеpython -m pip show <имя>; не ставьте его в системный Python только ради устранения подчёркивания в редакторе.Linux · Терминал (Bash)КомандаЗапускать во встроенном терминале редактора; без повышенных прав.python -c "import sys; print(sys.executable)"python -m pip --version
- 4. Проверьте отдельную конфигурацию отладкиВ VS Code изучите конфигурацию запуска (при наличии
.vscode/launch.json) и указанные переменные окружения и путь рабочего каталога. Если используется Jupyter, у него отдельно выбирается ядро; изменение Python в обычном редакторе не гарантирует смену ядра открытого блокнота.
- 5. Исправьте только проектную настройкуСохраните выбор интерпретатора в настройках проекта, если это принято в команде. Не меняйте глобальные пути всей ОС. Проверьте запуск через кнопку, отладку и терминал, а также импорт одного конкретного пакета.
#Как проверить, что проблема устранена
Путь sys.executable при отладке и штатном запуске совпадает с выбранным Python; импорт пакетов в обоих режимах одинаков.
#Если исправление не помогло
Если не работает только анализатор кода, это отдельная проблема индексирования или настроек расширения. Если окружение пересоздавалось или переезжало между каталогами, выберите его заново.