Для чего в Python используются виртуальные окружения

Ответ

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

Основная цель — избежать конфликтов версий. Например, Проект А требует requests==2.20, а Проект Б — requests==2.28. Без изоляции возникнет конфликт.

Ключевые преимущества:

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

Пример создания и использования:

# 1. Создать виртуальное окружение в папке 'myenv'
python3 -m venv myenv

# 2. Активировать окружение
# Linux/macOS
source myenv/bin/activate
# Windows (Command Prompt)
myenvScriptsactivate.bat

# 3. Установить зависимости (только для этого окружения)
pip install requests flask

# 4. Сохранить зависимости в файл
pip freeze > requirements.txt

# 5. Деактивировать окружение
deactivate