Конфигурация языка Python в редакторе Visual Studio Code

Раздел: Инструменты -> IDE VS Code

Основной способ настройки Python в Visual Studio Code

Для начала работы с Python в VS Code необходимо установить расширение Python от Microsoft. После установки откройте папку проекта. Выберите интерпретатор через палитру команд (Ctrl+Shift+P) и команду Python: Select Interpreter. Рекомендуется создать виртуальное окружение командой Python: Create Environment или в терминале:

python -m venv .venv

Vs studio python (настройка python в visual studio)

После активации окружения (например, .venv\scripts\activate на Windows) можно установить зависимости через pip. Напишите простой скрипт main.py:

print('Hello, VS Code!')

Запустите его клавишей Ctrl+F5 (без отладки) или F5 (с отладкой). Если интерпретатор не выбран, VS Code предложит выбрать его автоматически.

Как выбрать интерпретатор, если установлено несколько версий Python?

Используйте палитру команд (Ctrl+Shift+P) и Python: Select Interpreter. Откроется список всех обнаруженных интерпретаторов, включая виртуальные окружения. Можно ввести путь вручную, например:

{
    "python.defaultInterpreterPath": "C:\\Python39\\python.exe"
}

Этот параметр сохраняется в settings.json проекта. Проблема: если интерпретатор не отображается, перезагрузите VS Code или проверьте, что расширение Python активировано.

Как создать виртуальное окружение прямо из VS Code?

В палитре команд выберите Python: Create Environment и укажите тип (venv или conda). VS Code автоматически создаст окружение в папке проекта и активирует его. Альтернативно в терминале:

python -m venv myenv

После создания в нижнем левом углу появится указатель на активное окружение. Проблема: на Windows может возникнуть ошибка выполнения скриптов. Решение – изменить политику выполнения в PowerShell от имени администратора:

Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser

Как настроить запуск и отладку Python файла?

Создайте конфигурацию отладки, выбрав Run > Add Configuration и указав тип Python: Current File. Будет сгенерирован файл .vscode/launch.json:

{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "Python: Current File",
            "type": "python",
            "request": "launch",
            "program": "${file}",
            "console": "integratedTerminal"
        }
    ]
}

Нажмите F5 для запуска отладки. Можно установить точки останова (Breakpoints). Проблема: если отладка не запускается, проверьте, что файл сохранён и интерпретатор выбран корректно.

Как подключить линтер, например, pylint или flake8?

Откройте настройки (Ctrl+,) и найдите python.linting. Включите линтинг и выберите нужный инструмент, например, flake8. Это добавит в settings.json строки:

{
    "python.linting.enabled": true,
    "python.linting.flake8Enabled": true,
    "python.linting.flake8Path": "flake8"
}

Также можно использовать команду Python: Select Linter. Убедитесь, что выбранный линтер установлен (pip install flake8). Проблема: если линтер не работает, проверьте, что он установлен в активном виртуальном окружении, а не глобально.

Как настроить форматтер, например, black или autopep8?

В настройках VS Code укажите провайдера форматирования, например:

{
    "python.formatting.provider": "black",
    "python.formatting.blackPath": "black"
}

Затем используйте Shift+Alt+F для форматирования текущего файла. Можно включить автоформатирование при сохранении через editor.formatOnSave. Проблема: если форматтер не применяется, проверьте, что пакет установлен (например, pip install black) и что путь к нему соответствует активному интерпретатору.

Как запускать тесты pytest в VS Code?

Настройте тестовый фреймворк через Python: Configure Tests или в settings.json:

{
    "python.testing.pytestEnabled": true,
    "python.testing.pytestArgs": ["-v"],
    "python.testing.cwd": "${workspaceFolder}"
}

Создайте файл теста, например test_example.py:

def test_add():
    assert 1 + 1 == 2

В панели тестов (значок колбы) появятся обнаруженные тесты. Проблема: если тесты не отображаются, убедитесь, что pytest установлен (pip install pytest) и файл начинается с test_.

Типичные ошибки и их решение

  • Интерпретатор не найден: проверьте установку Python и перезагрузите VS Code. Иногда помогает переустановка расширения Python.
  • Ошибка при создании виртуального окружения: на Windows может потребоваться запуск PowerShell от администратора или смена политики выполнения.
  • Линтер или форматтер не работают: убедитесь, что пакеты установлены в активном виртуальном окружении, а не глобально. Используйте pip list для проверки.
  • Отладчик не запускается: проверьте правильность launch.json и наличие активного файла с кодом.
  • Тесты не распознаются: убедитесь, что файлы тестов начинаются с test_, и что pytest установлен в текущем окружении.

Расширенные примеры использования Python в VS Code

Пример 1. Полная настройка Flask-приложения с отладкой

Создайте виртуальное окружение и установите Flask. Файл app.py:

Пример
from flask import Flask
app = Flask(__name__)

@app.route('/')
def hello():
    return 'Hello, Flask!'

if __name__ == '__main__':
    app.run(debug=True)

Добавьте конфигурацию отладки в .vscode/launch.json для запуска Flask:

Пример
{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "Flask",
            "type": "python",
            "request": "launch",
            "module": "flask",
            "env": {
                "FLASK_APP": "app.py",
                "FLASK_ENV": "development"
            },
            "args": ["run", "--no-debugger"],
            "jinja": true
        }
    ]
}

Нажмите F5. В терминале отобразится:

 * Serving Flask app 'app.py'
 * Debug mode: on
 * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)

Пример 2. Использование Jupyter Notebook в VS Code

Установите пакет ipykernel (pip install ipykernel). Создайте файл notebook.ipynb через команду Create: New Jupyter Notebook. Напишите код в ячейке:

Пример
import pandas as pd
df = pd.DataFrame({'A': [1,2,3], 'B': [4,5,6]})
df.describe()

Выполните ячейку (Shift+Enter). Результат:

              A      B
count  3.0     3.0
mean   2.0     5.0
std    1.0     1.0
min    1.0     4.0
25%    1.5     4.5
50%    2.0     5.0
75%    2.5     5.5
max    3.0     6.0

Можно создавать ячейки с Markdown, графиками (matplotlib) и интерактивными виджетами.

Пример 3. Автоматический запуск линтера и форматтера при сохранении

Настройте задачу в .vscode/tasks.json, которая запускает flake8 и black при сохранении файла. Сначала установите flake8 и black. Затем создайте задачу:

Пример
{
    "version": "2.0.0",
    "tasks": [
        {
            "label": "Lint and Format",
            "type": "shell",
            "command": "flake8 ${file} && black ${file}",
            "presentation": {
                "reveal": "never"
            },
            "problemMatcher": "$flake8"
        }
    ]
}

Добавьте в settings.json:

Пример
"files.autoSave": "onFocusChange",
"editor.codeActionsOnSave": {
    "source.fixAll": true
}

Теперь при каждом сохранении файла (или смене фокуса) будет выполняться линтер и форматтер. Вывод ошибок отображается в панели Problems.

Пример 4. Удаленная разработка через SSH

Установите расширение Remote - SSH. Подключитесь к удалённому серверу, нажав на зелёную иконку в левом нижнем углу и выбрав Connect to Host. После подключения откройте папку с проектом. Установите расширение Python на удалённой машине (через панель расширений). Создайте простой скрипт remote_script.py:

Пример
import socket
print('Hostname:', socket.gethostname())

Запустите его. Результат:

Hostname: remote-server-01

Отладка, линтеры и тесты работают так же, как локально, но все операции выполняются на удалённом сервере. Проблема: если Python не установлен на сервере, расширение предложит установить его через conda или apt (при наличии sudo).

Настройка Python в Visual Studio - comments

En
Vs studio python (python)