раздел 07
Виртуальные окружения
Звучит страшно, на деле - простая папка, в которую складываются библиотеки одного проекта. Дальше разберём, зачем она и как её завести.
Зачем это нужно
Представьте, что все пакеты со всех проектов сваливаются в одну общую кучу. Один проект хочет библиотеку старой версии, другой - новой. Они начинают конфликтовать, и в какой-то момент всё ломается без понятной причины.
Виртуальное окружение решает это просто: у каждого проекта свой отдельный набор библиотек, который не мешает остальным. Поставили что-то в один проект - на другие это никак не влияет.
Что такое venv
venv - это встроенный в Python инструмент, который создаёт такое изолированное окружение. По сути это отдельная папка внутри проекта (обычно её называют .venv), куда складываются библиотеки именно этого проекта.
Пока окружение "включено" (активировано), все команды pip install ставят пакеты только в эту папку, а не в общую систему.
Как создать и активировать
Команды по шагам - macOS и Linux:
python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
На Windows активация выглядит иначе:
python3 -m venv .venv
.venv\Scripts\activate
pip install -r requirements.txt
Признак, что окружение активно - приставка (.venv) в начале строки терминала. Выйти:
deactivate
Почему агент создаёт venv сам
В вайбкодинге агент обычно сам заводит окружение в начале работы над проектом: создаёт .venv, активирует его и туда ставит зависимости. Вы видите это в логе и можете не вмешиваться.
Знать про venv стоит ради одной частой ситуации: вы открыли проект на следующий день, запускаете - и ничего не работает, "пакет не найден". Чаще всего причина в том, что окружение просто не активировано в новом окне терминала. Команда активации (source .venv/bin/activate) лечит это сразу.