VS Code для Python: установка и настройка пошагово

Ноутбук с открытым редактором кода и терминалом на рабочем столе разработчика Программное обеспечение

Чтобы подготовить VS Code для Python, нужны три вещи: сам Visual Studio Code, интерпретатор Python и расширение Python от Microsoft. Дальше открываете папку проекта, создаёте в ней виртуальное окружение .venv, выбираете его командой «Python: Select Interpreter» и запускаете файл кнопкой Run Python File в правом верхнем углу.

Команды терминала прогнаны на Windows 10 с Python 3.14.3. Названия пунктов интерфейса сверены с файлами расширения Python 2026.8.0 и документацией.

Что нужно для работы с Python в VS Code

VS Code сам код Python не исполняет, и расширение тоже не содержит интерпретатора. Среду разработки собирают из трёх частей:

Часть Что делает Где взять
Visual Studio Code редактор кода, терминал, панели code.visualstudio.com
Python интерпретатор, который выполняет код python.org, Homebrew, менеджер пакетов Linux
Расширение Python подсветка, автодополнение, запуск, отладка вкладка Extensions внутри редактора

Установка Visual Studio Code

Windows

Скачайте с официального сайта установщик User setup: он не требует прав администратора, и обновления с ним устанавливаются проще всего. По умолчанию VS Code устанавливается в C:\Users\<имя>\AppData\Local\Programs\Microsoft VS Code и добавляет себя в PATH. После установки закройте и заново откройте консоль, тогда в любой папке сработает команда code .. Вариант System setup устанавливает VS Code для всех пользователей компьютера и просит права администратора.

macOS

Откройте скачанный .dmg и перетащите Visual Studio Code.app в папку Applications. Команда code в терминале появится только после настройки: запустите VS Code, нажмите Cmd+Shift+P, введите shell command и выберите Shell Command: Install ‘code’ command in PATH. Терминал после этого перезапустите.

Linux

На Ubuntu и Debian скачайте пакет .deb и установите его:

sudo apt install ./<файл>.deb

При установке пакет предложит подключить репозиторий Microsoft, и дальше обновления VS Code придут вместе с системными. Для Fedora и RHEL есть .rpm (sudo dnf install <файл>.rpm), для дистрибутивов со Snap подойдёт sudo snap install --classic code.

Окно установщика программы на экране ноутбука, полоса прогресса заполнена наполовину

Установка Python

На Windows с версии 3.14 рекомендуемый способ поменялся. Прежний полный установщик объявлен устаревшим, для Python 3.16 его уже не выпустят. Вместо него на python.org и в Microsoft Store лежит Python install manager. После него в терминале работают команды python и py, а новые версии добавляются командой py install 3.14. При первой установке он предложит добавить каталог в PATH; это не обязательно, если запускаете через py. Список установленных версий показывает py list:

Tag           Name           Managed By  Version  Alias
3.14[-64]  *  Python 3.14.3  PythonCore  3.14.3   python3[-64].exe, python3.14[-64].exe

Звёздочка отмечает версию по умолчанию. Системный Python на macOS расширение не поддерживает, установите Python через Homebrew: brew install python3. В Linux обычно уже есть python3, но на Ubuntu и Debian для venv нужен пакет python3-venv: если его нет, python3 -m venv .venv сообщит, что ensurepip недоступен, и подскажет команду установки.

Проверка установки: python3 --version на Linux и macOS, py -3 --version или python --version на Windows. Если Python устанавливали при открытом VS Code, перезапустите терминал или весь VS Code, иначе новая версия не появится.

Читайте также:  Что такое Docker

Расширение Python и что оно устанавливает вместе с собой

Откройте панель Extensions (Ctrl+Shift+X, на macOS Cmd+Shift+X), введите python и выберите расширение Python от Microsoft, его идентификатор ms-python.python. Нажмите Install. Вместе с ним автоматически установятся ещё три расширения:

  • Pylance: автодополнение, подсказки по типам и подсветка ошибок (IntelliSense);
  • Python Debugger: отладчик, работает через debugpy;
  • Python Environments: панель для окружений и пакетов.

Python Environments устанавливается всегда, но включён не у всех: это решает настройка python.useEnvironmentsExtension. Если в VS Code установлен русский языковой пакет, команды расширения переведены: «Python: Select Interpreter» будет называться «Выбор интерпретатора», кнопка запуска «Запуск файла Python». Все команды доступны в палитре (Ctrl+Shift+P или F1), она позволяет искать по части слова, достаточно набрать «интерпр».

Боковая панель расширений в редакторе кода, список карточек расширений с размытыми названиями

Папка проекта и виртуальное окружение

VS Code работает с папкой: открытая папка становится рабочей областью, и расширение ищет виртуальную среду внутри неё. Создайте новый проект из терминала:

mkdir hello
cd hello
code .

Или откройте готовый каталог через File > Open Folder. Отдельную виртуальную среду для каждого проекта мы советуем заводить сразу, даже под один файл: пакеты устанавливаются в неё, и версии библиотек двух проектов не спорят.

Создать .venv можно двумя путями. В VS Code: палитра команд, команда «Python: Create Environment», тип Venv, затем выбрать интерпретатор; .venv появится в проводнике. В терминале то же самое делает одна команда:

python -m venv .venv

На Linux и macOS вместо python пишите python3. В нашем прогоне внутри .venv оказались Include, Lib, Scripts, pyvenv.cfg и файл .gitignore со звёздочкой внутри: с Python 3.13 venv сам исключает среду из Git. Её в репозиторий не кладут, список пакетов хранят в requirements.txt.

Активация зависит от системы и оболочки:

Система и оболочка Команда активации
Linux, macOS (bash, zsh) source .venv/bin/activate
Windows, cmd.exe .venv\Scripts\activate.bat
Windows, PowerShell .venv\Scripts\Activate.ps1
Windows, Git Bash source .venv/Scripts/activate

Выйти из виртуальной среды можно командой deactivate. Во встроенном терминале VS Code активирует выбранную среду сам, когда терминал открывается. Если PowerShell отказывается запускать Activate.ps1 из-за политики выполнения сценариев, разбор ошибки и команда для исправления есть в статье про ModuleNotFoundError в Python.

Терминал на экране ноутбука, в панели проводника видна структура папок проекта, текст размыт

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

Откройте палитру команд, введите «Python: Select Interpreter» и выберите вариант с .venv. Второй путь: щёлкнуть версию Python в строке состояния внизу окна. Выбранный интерпретатор VS Code использует для запуска, отладки и автодополнения. Если ничего не выбрано, расширение само берёт .venv или venv из рабочей области, а при их отсутствии системный Python. Среда не появилась: при включённом Python Environments выполните «Python Environments: Refresh All Environment Managers», в любом случае можно выбрать пункт Enter interpreter path… и укажите путь к python.exe вручную.

Какой интерпретатор на самом деле запускает код, покажет сам Python. Создайте новый файл main.py:

import sys


def average(numbers):
    return sum(numbers) / len(numbers)


scores = [5, 4, 4, 3]
print(f"Python {sys.version.split()[0]}")
print(f"Интерпретатор: {sys.executable}")
print(f"Средний балл: {average(scores):.2f}")

Запуск системным Python:

Python 3.14.3
Интерпретатор: C:\Users\User\AppData\Local\Python\pythoncore-3.14-64\python.exe
Средний балл: 4.00

Запуск после активации окружения:

Python 3.14.3
Интерпретатор: C:\projects\hello\.venv\Scripts\python.exe
Средний балл: 4.00

Проверьте вторую строку. Если в ней нет .venv, пакеты, установленные в виртуальную среду, программа не увидит и при импорте упадёт с ModuleNotFoundError.

Создание и запуск файла

Новый файл создаётся кнопкой New File на панели проводника. Расширение .py обязательно: по нему VS Code понимает, что это код Python. Сохраните файл (Ctrl+S) и запустите одним из способов:

  1. Кнопка Run Python File (треугольник) в правом верхнем углу. Она открывает терминал, активирует выбранную среду и выполняет файл.
  2. Правая кнопка мыши в редакторе кода, затем Run Python > Run Python File in Terminal. Эта команда ещё и сохраняет файл.
  3. Выделить фрагмент и нажать Shift+Enter: он выполнится в терминале Python (REPL).
Читайте также:  Что такое Docker

Кнопка запускает код из корня проекта, а не из каталога, где лежит сам файл. За это отвечает настройка python.terminal.executeInFileDir, по умолчанию она выключена. Отсюда частая ошибка с относительными путями. Скрипт tools/summa.py читает соседний data.txt:

with open("data.txt", encoding="utf-8") as f:
    values = [int(row) for row in f]
print(sum(values))

Из корня проекта он падает:

FileNotFoundError: [Errno 2] No such file or directory: 'data.txt'

Из tools тот же код печатает 245. Чинить лучше в коде: путь к данным строим от расположения скрипта. Исправленный tools/summa.py:

from pathlib import Path

data_file = Path(__file__).parent / "data.txt"
with open(data_file, encoding="utf-8") as f:
    values = [int(row) for row in f]
print(sum(values))

Теперь из корня выводится 245. Если хочется практики на таких скриптах, возьмите задачи по Python для начинающих.

Крупный план экрана с открытым файлом кода и панелью терминала внизу, текст размыт

Установка пакетов через pip

Пакеты устанавливайте во встроенном терминале, где уже активна среда проекта. Форма python -m pip install гарантирует, что pip принадлежит тому же интерпретатору. Для примера поставим black и flake8, чтобы ниже запускать их из терминала (расширениям VS Code они в окружении не нужны, об этом в разделе про линтер):

python -m pip install black flake8

В свежей виртуальной среде из пакетов есть только pip. Чтобы повторить набор на другом компьютере, сохраните его в файл:

python -m pip freeze > requirements.txt
python -m pip install -r requirements.txt

У нас после установки линтера, форматтера и pytest в requirements.txt вышло 16 строк. По этому же файлу устанавливают зависимости при сборке образа в Docker. Библиотека для графиков ставится той же командой, python -m pip install matplotlib, а примеры графиков есть в статье про Matplotlib.

Отладка с точкой останова

Функция в файле words.py должна считать слова длиной от пяти символов, а считает не все:

def count_long_words(text, min_len):
    """Считает слова длиной от min_len символов."""
    count = 0
    for word in text.split():
        if len(word) > min_len:
            count += 1
    return count


if __name__ == "__main__":
    line = "VS Code сам находит папку .venv в проекте"
    print(count_long_words(line, 5))

Программа печатает 2, хотя подходящих слов четыре: «находит», «папку», «.venv», «проекте». Поставьте курсор на условие if и нажмите F9 или щёлкните слева от номера: появится красная точка останова. Затем F5. При первом запуске VS Code спросит тип конфигурации, выберите Python File. Выполнение остановится на точке, текущая строка будет отмечена жёлтой стрелкой, а в панели Variables появятся word, count и min_len.

Нажимайте F5, чтобы дойти до следующего прохода цикла. Когда word станет 'папку', F10 выполнит условие и покажет, что count += 1 пропущен: длина 5, а 5 > 5 ложно. Нужен оператор >=, с ним программа печатает 4. Чтобы не листать цикл, щёлкните правой кнопкой по полю слева от номеров, выберите Add Conditional Breakpoint, тип Expression и задайте выражение word == "папку".

Клавиши отладки: F10 шаг с обходом функции, F11 шаг внутрь функции, Shift+F11 выход из функции, Shift+F5 остановка. Если программе нужны аргументы командной строки, в панели Run and Debug нажмите ссылку create a launch.json file. VS Code создаст .vscode/launch.json, конфигурации в нём лежат в массиве configurations. Параметр args дописывается в нужную конфигурацию:

{
  "configurations": [
    {
      "name": "Python Debugger: Current File",
      "type": "debugpy",
      "request": "launch",
      "program": "${file}",
      "console": "integratedTerminal",
      "args": ["--verbose"]
    }
  ]
}

Крупный план редактора кода с красной точкой останова слева от строки и подсвеченной текущей строкой

Настройка линтера и форматтера

Синтаксические ошибки языковой сервер расширения Python находит по умолчанию. Стиль и подозрительные места проверяют линтеры: Pylint, Flake8, Mypy Type Checker, Ruff. Форматтеры: Black Formatter, autopep8, Ruff. Устанавливаются они как обычные расширения из панели Extensions. Свои замечания линтер выводит при открытии и сохранении файла, список собирает панель Problems (Ctrl+Shift+M).

Читайте также:  Что такое Docker

Вот report.py, написанный наспех, с опечаткой в последней строке:

import os
def total(values,discount = 0):
    s=sum( values )
    return s-s*discount/100
print(total([120,80,45],10))
print(totl([1,2]))

Flake8 (7.4.1) находит 14 замечаний. Вот начало и самое важное:

report.py:1:1: F401 'os' imported but unused
report.py:2:1: E302 expected 2 blank lines, found 0
report.py:2:17: E231 missing whitespace after ','
report.py:6:7: F821 undefined name 'totl'

Black (26.10.0) переписывает файл:

import os


def total(values, discount=0):
    s = sum(values)
    return s - s * discount / 100


print(total([120, 80, 45], 10))
print(totl([1, 2]))
reformatted report.py

All done! ✨ 🍰 ✨
1 file reformatted.

Пробелы и пустые строки на месте, но опечатка totl и лишний import os остались, flake8 по-прежнему их показывает. При запуске программа печатает 220.5 и падает с NameError: name 'totl' is not defined. Did you mean: 'total'?. Форматтер ошибок не ищет, поэтому устанавливайте его в паре с линтером.

Форматирование вызывается через правую кнопку мыши, пункт Format Document, или сочетанием клавиш Shift+Alt+F (на Linux Ctrl+Shift+I, на macOS Shift+Option+F). Чтобы Black работал при каждом сохранении, откройте «Preferences: Open User Settings (JSON)» и добавьте:

"[python]": {
  "editor.defaultFormatter": "ms-python.black-formatter",
  "editor.formatOnSave": true
}

По умолчанию используется встроенная в расширение версия инструмента, поэтому устанавливать black и flake8 в виртуальную среду для работы в VS Code не нужно. Туда их добавляют, когда проверку запускают из терминала или в CI.

Экран с кодом, отдельные строки подчёркнуты волнистыми линиями, внизу панель со списком замечаний, текст размыт

Тесты

Расширение запускает тесты unittest и pytest. Откройте панель Testing (значок колбы на левой панели) и нажмите Configure Python Tests или выполните «Python: Configure Tests», выберите pytest и каталог с тестами. Pytest находит файлы, имя которых начинается с test_ или заканчивается на _test. Тест для функции из раздела про отладку, файл test_words.py рядом с words.py:

from words import count_long_words


def test_counts_words_of_min_length():
    assert count_long_words("папку проекте в", 5) == 2

С ошибочным > pytest 9.1.1 сообщает:

E       AssertionError: assert 1 == 2
E        +  where 1 = count_long_words('папку проекте в', 5)
...
1 failed in 0.06s

После замены на >= тест проходит: 1 passed. В редакторе рядом с тестом появится зелёный значок запуска, а упавший тест подсветится прямо в коде.

Полезные расширения для Python

Для начала хватит набора, который устанавливается с расширением Python. Дополнительные расширения добавляйте под задачу:

Расширение Идентификатор Зачем
Jupyter ms-toolsai.jupyter блокноты .ipynb прямо в VS Code
Black Formatter ms-python.black-formatter форматирование кода
Flake8 ms-python.flake8 линтер стиля и ошибок
Pylint ms-python.pylint линтер
Mypy Type Checker ms-python.mypy-type-checker проверка аннотаций типов
Ruff charliermarsh.ruff линтер и форматтер в одном расширении
isort ms-python.isort сортировка импортов

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

VS Code не видит установленный Python. Что делать?

Перезапустите терминал или весь VS Code: терминал читает PATH только при старте. Проверьте версию командой python --version (на Linux и macOS python3 --version), потом выберите интерпретатор с помощью «Python: Select Interpreter».

Пакет установлен, а импорт падает с ModuleNotFoundError. Почему?

Пакет установлен в один интерпретатор, а файл запускает другой. Запустите main.py из раздела про выбор интерпретатора и сравните путь с тем, куда устанавливал pip. Подробный разбор причин в статье про ModuleNotFoundError: No module named.

Обязательно ли активировать виртуальную среду?

Нет. Можно вызывать её интерпретатор по полному пути: .venv\Scripts\python.exe main.py на Windows или .venv/bin/python main.py на Linux и macOS.

VS Code или PyCharm для Python?

PyCharm от JetBrains создан как IDE для Python, у него есть бесплатная версия. В Visual Studio Code поддержку Python добавляют расширения, а сам редактор работает и с другими языками программирования. Для учёбы и небольших проектов настроенного VS Code хватает.

Оцените статью
bestprogrammer.ru
Добавить комментарий