Check

Виртуальные окружения и изоляция зависимостей

Python Senior Яндекс
Почему в production-проектах важно использовать виртуальные окружения? Чем `venv` отличается от `virtualenv` и когда имеет смысл использовать альтернативы вроде `poetry`/`pipenv`?
Ответы
venv и менеджеры зависимостей
Виртуальное окружение изолирует зависимости проекта от глобальной системы: разные проекты могут использовать разные версии библиотек. `venv` — встроенный модуль Python 3, лёгкий и стандартный. `virtualenv` появился раньше, быстрее создаёт окружения и имеет больше опций, но сейчас часто достаточно `venv`. Инструменты вроде `poetry`, `pipenv` добавляют: - декларативное описание зависимостей (`pyproject.toml`/`Pipfile`), - lock-файлы, - удобные команды для управления зависимостями и публикацией пакетов.