Глава 2 · Давайте установим Python!

VS Code: интерпретатор и рабочий процесс

Расширение установлено — но VS Code ещё не знает, какой Python использовать для вашего конкретного проекта. Разберём, как это указать и как это устроено.

Установленное расширение Python ещё не знает, какой именно интерпретатор использовать для вашего проекта — особенно если на компьютере их несколько (системный, с python.org, а скоро ещё и виртуальные окружения). Это нужно указать явно — один раз на проект.

Выбор интерпретатора

Откройте папку проекта в VS Code, затем откройте любой файл .py. В правом нижнем углу окна появится надпись с текущей выбранной версией Python — нажмите на неё (или откройте палитру команд Ctrl+Shift+P / Cmd+Shift+P и наберите «Python: Select Interpreter»).

Появится список всех интерпретаторов, которые VS Code нашёл на компьютере — с полными путями к каждому. Выберите нужный.

Проверка боем
Выбранный интерпретатор должен совпадать с тем путём, что печатает sys.executable (раздел 2.6), если запустить файл через VS Code. Откройте встроенный терминал VS Code (Ctrl+`) и сравните.

USER-настройки и WORKSPACE-настройки

У VS Code есть два уровня настроек с одинаковыми именами полей, но разным охватом:

User settings(весь компьютер)Workspace settings(этот проект)settings.jsonпроекта
Выбор интерпретатора привязывается к проекту, а не «навсегда» ко всему компьютеру

Когда вы выбираете интерпретатор через «Select Interpreter», выбор привязывается именно к этому проекту, а не «навсегда» ко всему компьютеру — у разных проектов на компьютере вполне может быть разный Python. Технически расширение Python Environments (мы ставили его вместе с расширением Python в разделе 2.7) хранит это назначение в .vscode/settings.json проекта — но не как прямой путь к файлу, а как ссылку на нужное окружение, которую расширение само находит заново при каждом открытии проекта:

.vscode/settings.json
{
  "python-envs.pythonProjects": [
    { "path": ".", "envManager": "ms-python.python:venv" }
  ]
}
А как же python.defaultInterpreterPath?
Более старая настройка python.defaultInterpreterPath — это не запись о вашем выборе, а запасной вариант: расширение читает её только тогда, когда для проекта ещё не назначено никакое окружение никаким другим способом. Ручной выбор через «Select Interpreter» её не создаёт и не изменяет — поэтому не удивляйтесь, если не найдёте эту строку в своём settings.json даже после того, как выбрали интерпретатор.

Встроенный терминал

Терминал внутри VS Code (Ctrl+`) — это тот же самый shell, что и обычный терминал операционной системы (раздел 2.2), просто открытый прямо внутри редактора, в папке проекта. Когда у проекта выбрано виртуальное окружение, VS Code обычно автоматически активирует его в новом встроенном терминале — вы увидите (.venv) перед приглашением командной строки (подробнее в разделе 2.11).

Запуск и отладка файла

Кнопка ▷ («Run Python File») в правом верхнем углу запускает текущий файл именно тем интерпретатором, который выбран для проекта. Кнопка отладки (значок с жуком) делает то же самое, но позволяет ставить точки останова (breakpoints) — кликом слева от номера строки — и останавливать выполнение построчно, чтобы увидеть текущие значения переменных.

«Run» использует не тот Python»
Если запуск файла через VS Code ведёт себя иначе, чем запуск того же файла в обычном терминале — почти всегда причина в том, что выбран не тот интерпретатор. Откройте «Select Interpreter» ещё раз и сравните выбранный путь с тем, что печатает sys.executable (раздел 2.6).