Настройка Python в VS Code состоит из трёх независимых действий: установить Python, добавить расширение редактора и выбрать окружение проекта. Если пропустить последнее, пакеты могут устанавливаться в один Python, а программа запускаться в другом. Отсюда знакомая ситуация: pip сообщает, что библиотека установлена, но импорт завершается ошибкой.
В этом руководстве создадим отдельное окружение .venv, запустим программу и тест, затем проверим отладчик. Примеры не требуют сторонних библиотек для самого приложения. Общие настройки редактора вынесены в базовый гайд по VS Code.
1. Установите Python и проверьте команду
Скачайте подходящий установщик с официальной страницы Python. Если работаете с существующим проектом, сначала проверьте требуемую версию в его README и файлах конфигурации. Новейший Python не обязательно совместим с зависимостями старого приложения.
Откройте новый терминал. В Windows проверьте:
python --version
В macOS и Linux обычно используют:
python3 --version
В Windows также может быть доступен py --version. Выберите команду, которая действительно запускает нужный интерпретатор, и используйте её для создания окружения. Если вместо версии открывается магазин приложений, разберитесь с установкой Python и псевдонимами запуска Windows. Расширение редактора эту проблему не исправит.
Не удаляйте системный Python Linux ради учебного проекта. Если отсутствует модуль venv, установите компонент виртуальных окружений через пакетный менеджер своего дистрибутива; в Ubuntu/Debian это обычно пакет python3-venv.
2. Откройте проект и установите расширение
Создайте папку python-start и откройте её через File → Open Folder. В Extensions установите Python от Microsoft, идентификатор ms-python.python. Для отладки используется расширение Python Debugger; если VS Code предложит его установить, подтвердите установку официального компонента Microsoft.
Дополнительные средства управления окружениями могут отображаться в отдельной панели Python Environments. Названия элементов интерфейса меняются, но проверяемое действие остаётся прежним: выбрать конкретный исполняемый файл Python для проекта. Это описано в документации Python environments.
3. Создайте виртуальное окружение
Удобный путь через интерфейс: палитра команд → Python: Create Environment → Venv → нужный базовый интерпретатор. Окружение проекта обычно создаётся в .venv.
Для более явного контроля выполните одну команду в терминале из корня проекта. В Windows:
python -m venv .venv
В macOS/Linux:
python3 -m venv .venv
Затем запустите Python: Select Interpreter и выберите Python из этой папки. Если его нет в списке, укажите путь вручную:
- Windows:
.venvScriptspython.exe; - macOS/Linux:
.venv/bin/python.
Окружение не следует копировать между компьютерами или операционными системами. Воспроизводить нужно зависимости, а само окружение создавать заново. Такую модель использования предусматривает стандартный модуль venv.
4. Проверьте, какой Python действительно запускается
Создайте main.py:
import sys
def total_price(price: int, quantity: int) -> int:
return price * quantity
if __name__ == "__main__":
print("Python:", sys.executable)
print("Total:", total_price(350, 3))
Сохраните файл и вызовите Python: Run Python File in Terminal. Вы должны увидеть путь внутри .venv и строку Total: 1050. Сам путь на вашем компьютере будет другим.
Внешний терминал и уже открытая вкладка терминала не обязаны автоматически переключиться после выбора интерпретатора. Для независимой проверки запустите Python по явному пути. Windows:
..venvScriptspython.exe main.py
macOS/Linux:
./.venv/bin/python main.py
Это также помогает, когда PowerShell запрещает выполнение Activate.ps1. Для запуска Python активация не обязательна. Не отключайте политику безопасности на всём компьютере только ради виртуального окружения.
5. Устанавливайте пакеты в нужное окружение
Привязывайте pip к конкретному Python. Например, для установки pytest в Windows:
..venvScriptspython.exe -m pip install pytest
..venvScriptspython.exe -m pip --version
В macOS/Linux:
./.venv/bin/python -m pip install pytest
./.venv/bin/python -m pip --version
Вторая команда должна показать pip из .venv. Это надёжнее отдельного pip install, который может относиться к другой установке. Синтаксис запуска через интерпретатор приведён в документации pip.
В существующем проекте используйте его менеджер зависимостей и lock-файл. Не устанавливайте случайные версии поверх окружения, которое уже обслуживается Poetry, uv или другим инструментом. Для учебного окружения список установленного можно получить через python -m pip freeze, но это снимок среды, а не универсальный формат управления любым Python-проектом.
6. Настройте отладчик
Поставьте точку останова на строке return price * quantity. В Run and Debug выберите запуск Python-файла. Для явного профиля создайте .vscode/launch.json:
{
"version": "0.2.0",
"configurations": [
{
"name": "Python: main.py",
"type": "debugpy",
"request": "launch",
"program": "${workspaceFolder}/main.py",
"console": "integratedTerminal",
"cwd": "${workspaceFolder}"
}
]
}
Нажмите F5 и проверьте значения price и quantity. Современный тип Python-конфигурации здесь debugpy. По умолчанию используется выбранный интерпретатор проекта, поэтому исправлять неверное окружение следует через Select Interpreter, а не случайной заменой путей. Поля конфигурации описаны в справочнике Python debugging.
7. Добавьте первый тест
Рядом с main.py создайте test_main.py:
from main import total_price
def test_total_price():
assert total_price(350, 3) == 1050
def test_zero_quantity():
assert total_price(350, 0) == 0
Выполните Python: Configure Tests, выберите pytest и корень проекта. Либо запустите явно:
..venvScriptspython.exe -m pytest -q
Для macOS/Linux замените начало команды на ./.venv/bin/python. Ожидаемый результат: два успешных теста. Имена test_*.py помогают pytest обнаружить проверки. Если панель Testing пустая, посмотрите журнал обнаружения тестов: причиной может быть ошибка импорта, а не отсутствие тестовой функции. Возможности панели описаны в документации Python testing.
Что делать с частыми ошибками
| Симптом | Что проверить первым |
|---|---|
ModuleNotFoundError |
Совпадают ли sys.executable и Python, через который устанавливался пакет |
| Run работает, F5 нет | Профиль launch.json, рабочую папку и выбранный интерпретатор |
.venv отсутствует в списке |
Завершилось ли создание окружения; существует ли его python |
Нельзя ввести данные через input() |
Запускается ли программа в Terminal, а не в Output |
| После установки Python команда не найдена | PATH и полный перезапуск VS Code после установки |
FileNotFoundError при открытии данных |
Текущий рабочий каталог; он не обязан совпадать с папкой исходника |
Добавьте .venv/ и __pycache__/ в .gitignore, но сохраните в репозитории код, тесты и принятый в проекте файл зависимостей. О том, что именно попадёт в коммит, читайте в гайде по Git.
Нужен ли отдельный форматтер?
Для запуска Python нет. Для единого оформления команды выберите один форматтер и зафиксируйте правила проекта. Не переносите настройки Prettier для JavaScript на Python автоматически: это другая цепочка инструментов.
Какой результат считать правильной настройкой?
В терминале виден Python из .venv, программа печатает 1050, F5 останавливается на нужной строке, а оба теста проходят. Эти проверки важнее количества установленных расширений.