CohortX
Блог

Виртуальное окружение в Python: зачем и как

2 августа 2026 г. · 2 мин чтения · Read in English · Антон Молотило

Зачем это нужно

Представьте: делаете два проекта. Первому нужна библиотека версии 1, второму — версии 3, и они несовместимы. Если ставить всё в систему, работать будет только один проект.

Виртуальное окружение — отдельная папка с собственным набором библиотек для конкретного проекта. Каждый проект живёт в своей коробке и не мешает соседям.

Второе применение важнее: без окружения вы не сможете внятно сказать, что нужно вашему проекту для запуска. А значит, ни развернуть его, ни отдать другому человеку.

Как создать и включить

В папке проекта:

python -m venv .venv

Появится папка с отдельным интерпретатором и библиотеками.

Включить в Linux и macOS:

source .venv/bin/activate

Включить в Windows:

.venv\Scripts\activate

После включения в начале строки терминала появляется название окружения — признак, что вы внутри.

Выключить:

deactivate

Как ставить библиотеки

Внутри включённого окружения:

pip install requests

Ставится только в этот проект, система не затрагивается.

Как зафиксировать зависимости

Чтобы другой человек мог запустить ваш проект:

pip freeze > requirements.txt

Файл со списком библиотек и версий кладётся в репозиторий.

Установка из него на другой машине:

pip install -r requirements.txt

Без этого файла ваш проект нельзя запустить, и это первое, на что смотрят, открывая чужой репозиторий.

Что не класть в репозиторий

Саму папку окружения. Она весит десятки мегабайт, зависит от системы и никому не нужна: у другого человека она создастся своя.

Добавьте её в список игнорируемых файлов. Папка окружения в репозитории — верный признак новичка.

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

Забыли включить окружение. Ставите библиотеку, а она уходит в систему. Признак: в начале строки терминала нет названия окружения.

Разные окружения в редакторе и терминале. Редактор запускает не тот интерпретатор, и в нём «библиотека не найдена». Проверьте, какой интерпретатор выбран в настройках проекта.

Забыли обновить список зависимостей. Поставили библиотеку, а в файл не записали. У другого человека проект не запустится.

Окружение попало в репозиторий. Уберите и добавьте в игнорируемые.

Есть ли что-то удобнее

Да, существуют инструменты, которые управляют и окружением, и зависимостями сразу, и работают быстрее. Но начинать стоит со встроенного способа: он есть везде, не требует установки и понимание его устройства пригодится в любом случае.

Хватит читать — пора делать

На CohortX можно найти команду под пет-проект и получить тот самый опыт, о котором спрашивают на собеседовании.

Похожие статьи