Для чего нужно виртуальное окружение в Python?

«Для чего нужно виртуальное окружение в Python?» — вопрос из категории Python, который задают на 33% собеседований Data Инженер. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Виртуальное окружение в Python создает изолированную среду для проекта, позволяя управлять зависимостями независимо от глобальной системы. Это решает проблему конфликтов версий пакетов между разными проектами.

Основные причины использования:

  • Изоляция зависимостей: Каждый проект может использовать свои конкретные версии библиотек (например, Django 3.2 в одном проекте и Django 4.2 в другом).
  • Воспроизводимость: Файл requirements.txt или pyproject.toml позволяет точно воссоздать окружение на другой машине.
  • Чистота системы: Предотвращает "загрязнение" системного Python пакетами, которые нужны только для конкретной задачи.

Базовые команды для venv:

# Создание окружения в папке 'venv'
python -m venv venv

# Активация (Linux/macOS)
source venv/bin/activate

# Активация (Windows PowerShell)
venvScriptsActivate.ps1

# Установка зависимостей из файла
pip install -r requirements.txt

# Деактивация окружения
deactivate

На практике я создаю виртуальное окружение для каждого нового проекта, что является стандартной практикой в экосистеме Python.