Виртуальное окружение Python

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

Зачем нужны виртуальные окружения

  • Изоляция зависимостей между проектами
  • Избежание конфликтов версий пакетов
  • Воспроизводимость окружения
  • Безопасность системной установки Python

Инструменты для создания окружений

  • venv — встроенный в Python 3.3+
  • virtualenv — сторонний пакет для старых версий
  • conda — менеджер пакетов и окружений
  • pipenv — современный инструмент
  • poetry — управление зависимостями и окружением

Основные команды venv

 1# Создание виртуального окружения
 2python -m venv myenv
 3
 4# Активация (Windows)
 5myenv\Scripts\activate
 6
 7# Активация (Linux/Mac)
 8source myenv/bin/activate
 9
10# Деактивация
11deactivate
12
13# Установка пакетов
14pip install requests
15
16# Сохранение зависимостей
17pip freeze > requirements.txt
18
19# Установка из файла требований
20pip install -r requirements.txt

Установка инструментов

1# pip уже встроен в Python
2# Установка poetry
3pip install poetry
4
5# Установка pipenv
6pip install pipenv

Файлы зависимостей

  • requirements.txt — простой список пакетов
  • Pipfile — для pipenv
  • pyproject.toml — для poetry
  • environment.yml — для conda

FAQ

Нужно ли добавлять виртуальное окружение в Git?

Нет, добавляй только файлы зависимостей (requirements.txt), само окружение исключай через .gitignore.