Конфигурация языка Python в редакторе Visual Studio Code
Основной способ настройки Python в Visual Studio Code
Для начала работы с Python в VS Code необходимо установить расширение Python от Microsoft. После установки откройте папку проекта. Выберите интерпретатор через палитру команд (Ctrl+Shift+P) и команду Python: Select Interpreter. Рекомендуется создать виртуальное окружение командой Python: Create Environment или в терминале:
python -m venv .venvVs 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).