ЯдроКодаподготовка к экзаменам
Учебная платформа

Загружаем материалы

Подготавливаем материалы и навигацию по разделу.

Python venv: как создать и активировать виртуальное окружение

Автор: · Обновлено

Виртуальное окружение Python — отдельный каталог интерпретатора и установленных для проекта библиотек. В этом уроке вы создадите окружение, проверите его из терминала и IntelliJ…

Виртуальное окружение Python — отдельный каталог интерпретатора и установленных для проекта библиотек. В этом уроке вы создадите окружение, проверите его из терминала и IntelliJ IDEA, затем безопасно пересоздадите. Задача проверки проста: запуск программы и установка пакета должны обращаться к одному Python.

Что изолирует окружение

venv отделяет набор Python-пакетов; файлы проекта, процессы и сеть остаются обычными ресурсами операционной системы. Версию Python выбирают до создания окружения: запуск python3.13 -m venv .venv использует установленный Python 3.13, а не скачивает его. У команды python -m venv venv первое venv — имя стандартного модуля, второе — произвольное имя каталога. Мы используем .venv, чтобы отличать служебные файлы от исходников. Основные правила описаны в документации venv.

Создание в Linux, macOS и Windows

Создайте пустую папку weather-console и откройте в ней терминал. Для Linux/macOS:

python3 --version
python3 -m venv .venv
source .venv/bin/activate

Для Windows PowerShell:

py -3 --version
py -3 -m venv .venv
.\.venv\Scripts\Activate.ps1

Если используете cmd.exe, последняя команда будет .venv\Scripts\activate.bat. При нескольких установленных Python сначала проверьте выбранную версию. Если PowerShell запрещает выполнение скрипта активации, для этого занятия достаточно прямого запуска .\.venv\Scripts\python.exe: менять системную политику исполнения не требуется.

Доказательство правильного выбора Python

Сохраните рядом с .venv, а не внутри неё, файл probe.py:

import sys
from pathlib import Path

environment = Path(sys.prefix)
print("Окружение:", environment.name)
print("Изолировано:", sys.prefix != sys.base_prefix)
print("Python:", sys.executable)

Запустите python probe.py в активированном терминале. Первые две строки должны быть Окружение: .venv и Изолировано: True; третья содержит реальный путь к интерпретатору. Запишите его. Теперь выполните deactivate и повторите опыт прямой командой .venv/bin/python probe.py в POSIX или .\.venv\Scripts\python.exe probe.py в PowerShell. Первые две строки останутся прежними.

Этот опыт проверяет результат, а не оформление приглашения терминала. Надпись (.venv) сама по себе не доказывает, какой исполняемый файл запустили alias, IDE или задача автоматизации.

Подключение существующего venv в IntelliJ IDEA

Нужен включённый Python plugin. Откройте File → Project Structure → SDKs, добавьте Python SDK с диска и выберите существующий интерпретатор: .venv/bin/python либо .venv\Scripts\python.exe. Назначьте SDK проекту или нужному модулю. Названия пунктов соответствуют документации IntelliJ IDEA; в другой версии расположение настроек может отличаться.

Запустите тот же probe.py кнопкой Run. Сравните sys.executable с записанным путём из терминала. Если пути различаются, исправьте SDK/Run Configuration, а не устанавливайте библиотеку второй раз наугад. Терминал IDE и Python SDK — разные настройки; активация в одном окне не перенастраивает все конфигурации запуска.

Удаление и пересоздание

deactivate завершает активацию в текущем shell, но оставляет каталог на диске. Перед удалением остановите программы, использующие окружение, сохраните зависимости и убедитесь, что probe.py и другие исходники находятся вне .venv. Проверьте наличие .venv/pyvenv.cfg.

Из папки учебного проекта удалите только выбранный каталог: rm -r -- .venv в Linux/macOS, Remove-Item -LiteralPath .venv -Recurse в PowerShell или rmdir /s .venv в cmd. Затем повторите создание. Если ранее был подготовлен requirements.txt, восстановите пакеты через Python нового окружения. Каталог окружения не переносите как замену описанию зависимостей и не добавляйте в Git; этот рабочий процесс разбирает руководство PyPA.

Практика: два независимых проекта

Повторите опыт в project-a и project-b. Сравните абсолютные пути двух интерпретаторов и убедитесь, что они различаются. Удалите окружение только в project-a: файл probe.py должен сохраниться, а прямой запуск Python из project-b — продолжить работу. После пересоздания первого окружения снова получите True. Так вы проверяете границы удаления на собственных учебных файлах.

Следующий шаг

После проверки окружения переходите к [практикумам по Python-пакетам](/lessons/python/python-package-practice): там выбранный интерпретатор используется для графики, документов и внешних библиотек.

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

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

Нет. В скриптах удобно явно вызывать нужный Python; интерактивная активация сокращает команды. Сравните оба варианта на probe.py.

Что делать с ошибкой ensurepip при создании?

Проверьте установку Python и пакет поддержки venv вашей ОС. Дистрибутив может поставлять эту часть отдельно; повторная активация не исправляет незавершённое создание.

Почему Python 3 есть, а команда python3 не найдена?

Имена запуска зависят от ОС и установки. В Windows начните с py -3, в POSIX — с python3; подтверждайте версию выводом команды. Шаги Windows и IDEA проверены по документации; учебный пример исполнен в Linux с Python 3.13.

Источники