Создание комфортной среды для Python в редакторе VS Code

Раздел: Среда разработки -> настройка IDE

Настройка окружения Python в VS Code: основные шаги

Как создать и активировать виртуальное окружение через venv?

Основной и наиболее простой способ изолировать зависимости проекта - использовать встроенный модуль venv. Ниже приведены шаги, которые помогут настроить окружение в Visual Studio Code.

  • Установить расширение Python из магазина расширений (Ctrl+Shift+X, поиск "Python").
  • Открыть терминал VS Code (Ctrl+`).
  • Создать виртуальное окружение командой:
    python -m venv .venv

    среда python windows (среда разработки python в windows)

  • Активировать окружение:
    .venv\Scripts\activate

    Vs code окружение python (настройка окружения python в vs code)

    (Windows)
    source .venv/bin/activate
    (macOS/Linux)
  • После активации в строке приглашения появится префикс (.venv).
  • Выбрать созданный интерпретатор в VS Code: Ctrl+Shift+PPython: Select Interpreter → указать путь к .venv/Scripts/python.exe (Windows) или .venv/bin/python (Linux/macOS).
  • Установить необходимые пакеты, например:
    pip install requests flask
  • Создать файл requirements.txt для фиксации зависимостей:
    pip freeze > requirements.txt

Типичная проблема: VS Code не видит интерпретатор из виртуального окружения. Решение: проверить, что окружение активировано, и перезагрузить окно (Ctrl+Shift+P → Developer: Reload Window). Если интерпретатор не отображается в списке, указать путь вручную через Python: Select Interpreter → Enter interpreter path.

Другая ошибка: на Windows при активации возникает ошибка выполнения сценария из-за политики ExecutionPolicy. Решение: запустить PowerShell от имени администратора и выполнить Set-ExecutionPolicy RemoteSigned -Scope CurrentUser.

Использование Conda для управления окружением

Вопрос: Как настроить окружение Conda в VS Code?

Если проект требует быстрой смены версий Python или используется в научных вычислениях, удобно применять менеджер пакетов Conda (Anaconda или Miniconda). Шаги:

  • Установить Conda и убедиться, что она доступна в терминале (команда conda --version).
  • Создать новое окружение с указанием версии Python:
    conda create --name myenv python=3.10
  • Активировать окружение:
    conda activate myenv
  • Установить пакеты через conda или pip:
    conda install numpy pandas
  • В VS Code выбрать интерпретатор, соответствующий этому окружению (обычно отображается как 'myenv': conda).

Проблема: Окружение Conda не отображается в списке интерпретаторов. Решение: перезагрузить окно VS Code или вручную указать путь к интерпретатору (находится в папке envs/myenv/bin/python). Иногда требуется добавить папку с Conda в переменную PATH.

Настройка Poetry для управления зависимостями

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

Poetry - современный инструмент, который объединяет управление зависимостями, сборку и публикацию пакетов. Для работы с ним в VS Code достаточно установить Poetry и создать проект:

  • Установить Poetry (см. python-poetry.org).
  • Создать новый проект:
    poetry new myproject
  • Перейти в каталог проекта и установить зависимости из pyproject.toml:
    cd myproject && poetry install
  • Poetry автоматически создаст виртуальное окружение. Выбрать интерпретатор в VS Code можно через команду Python: Select Interpreter - обычно появляется вариант вида 'myproject': poetry.
  • Добавить новую зависимость:
    poetry add requests

Ошибка: VS Code не видит окружение Poetry. Решение: убедиться, что переменная POETRY_VIRTUALENVS_IN_PROJECT не установлена в false (по умолчанию true). Можно также указать путь к интерпретатору вручную: ~/.cache/pypoetry/virtualenvs/myproject-*/bin/python.

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

Вопрос: Как настроить автоматическое форматирование и проверку кода?

Для поддержания единого стиля кода полезно подключить линтер (например, pylint или flake8) и форматтер (black). Настройки прописываются в файле .vscode/settings.json проекта:


{
    "python.linting.enabled": true,
    "python.linting.pylintEnabled": true,
    "python.formatting.provider": "black",
    "editor.formatOnSave": true,
    "python.linting.lintOnSave": true
}
    

Установить соответствующие пакеты в окружении:

pip install pylint black

После этих настроек при сохранении файла код будет автоматически отформатирован, а ошибки и предупреждения отобразятся в панели Problems.

Проблема: Линтер не видит установленные пакеты. Решение: проверить, что линтер установлен именно в активном виртуальном окружении. Можно также переключить интерпретатор на тот, где установлен pylint.

Настройка отладчика Python

Вопрос: Как настроить отладчик Python для запуска скриптов?

VS Code предоставляет встроенный отладчик. Для его настройки нужно создать файл конфигурации .vscode/launch.json:


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

После этого можно установить точки останова (F9) и запустить отладку (F5). Отладчик автоматически использует выбранный интерпретатор Python.

Ошибка: Отладчик запускает не тот интерпретатор. Решение: указать в launch.json поле "python" с полным путем к интерпретатору, например:

"python": "${workspaceFolder}/.venv/Scripts/python.exe"

Расширенные примеры настройки окружения

Пример 1: Создание виртуального окружения через venv и установка зависимостей

Команды в терминале VS Code:

Пример

cd C:\Projects\myapp
python -m venv .venv
.venv\Scripts\activate
pip install django djangorestframework
pip freeze > requirements.txt

Результат выполнения:

Installing collected packages: asgiref, sqlparse, pytz, djangorestframework, django
Successfully installed asgiref-3.7.2 django-4.2.6 djangorestframework-3.14.0 pytz-2023.3.post1 sqlparse-0.4.4

Файл requirements.txt будет содержать:

asgiref==3.7.2
Django==4.2.6
djangorestframework==3.14.0
pytz==2023.3.post1
sqlparse==0.4.4

Пример 2: Использование Conda с указанием версии Python и установкой научных пакетов

Пример

conda create --name data_science python=3.9
conda activate data_science
conda install numpy scipy matplotlib jupyter

Результат установки (сокращённый вывод):

The following NEW packages will be INSTALLED:
  numpy              conda-forge/numpy-1.21.6-py39h...
  scipy              conda-forge/scipy-1.7.3-py39h...
  matplotlib         conda-forge/matplotlib-3.5.2-py39h...
  jupyter            conda-forge/jupyter-1.0.0-py39h...
Proceed ([y]/n)? y

Executing transaction: done

Пример 3: Настройка Poetry для проекта с тестовой зависимостью

Создание проекта и добавление dev-зависимости (pytest):

Пример

poetry new mylib
cd mylib
poetry add --dev pytest
poetry install

Содержимое pyproject.toml после:

[tool.poetry.dependencies]
python = "^3.9"

[tool.poetry.dev-dependencies]
pytest = "^7.4"

[build-system]
requires = ["poetry-core"]
build-backend = "poetry.core.masonry.api"

Пример 4: Расширенная конфигурация отладчика (запуск модуля и передача аргументов)

Файл .vscode/launch.json с несколькими конфигурациями:

Пример

{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "Python: Current File",
            "type": "python",
            "request": "launch",
            "program": "${file}",
            "console": "integratedTerminal"
        },
        {
            "name": "Python: Module",
            "type": "python",
            "request": "launch",
            "module": "pytest",
            "args": ["-v"],
            "cwd": "${workspaceFolder}"
        },
        {
            "name": "Python: Django",
            "type": "python",
            "request": "launch",
            "program": "${workspaceFolder}/manage.py",
            "args": ["runserver"],
            "django": true
        }
    ]
}

Пояснение: первая конфигурация запускает текущий файл, вторая запускает модуль pytest с подробным выводом, третья предназначена для отладки Django-приложения с включённой поддержкой шаблонов.

Пример 5: Автоматизация установки зависимостей с помощью скрипта

Создание файла setup_env.sh (для Unix) или setup_env.bat (для Windows), который автоматизирует создание окружения и установку пакетов:

Пример

# setup_env.bat (Windows)
@echo off
python -m venv .venv
call .venv\Scripts\activate
pip install -r requirements.txt
echo "Окружение настроено"
Пример

# setup_env.sh (Linux/macOS)
#!/bin/bash
python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
echo "Окружение настроено"

Результат выполнения скрипта: все зависимости установлены, окружение активно.

настройка окружения Python в VS Code - comments

En
Vs code окружение python (python)