Ответ
Виртуальное окружение (например, 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