Найти в Дзене
Python для школьников

Работа с виртуальными окружениями Python (venv)

venv - это стандартный модуль Python для создания изолированных виртуальных окружений. Виртуальные окружения позволяют: Чтобы создать виртуальное окружение, в терминале введите команду: Windows: python -m venv venv Linux, Mac OS python3 -m venv venv Где первый venv - это имя команды, а второй venv - имя папки, в которой будет создано окружение. Windows: . venv/Scripts/activate Linux, Mac OS: . venv/bin/activate Точка в команде указывает на текущую директорию (по-другому можно указать source venv/bin/activate). По сути мы указываем путь к файлу activate который нужно запустить из текущей папки. После активации в начале командной строки появится имя вашего окружения, например: (venv) user@computer:~$ Для того, чтобы проверить, активировалось ли виртуальное окружение, введите команду: which python Чтобы выйти из виртуального окружения, выполните: deactivate После активации все устанавливаемые пакеты будут попадать только в текущее виртуальное окружение: pip install package_name Чтобы сохр
Оглавление

Что такое venv и зачем оно нужно?

venv - это стандартный модуль Python для создания изолированных виртуальных окружений. Виртуальные окружения позволяют:

  1. Изолировать зависимости разных проектов
  2. Управлять версиями пакетов для каждого проекта отдельно
  3. Избегать конфликтов между пакетами
  4. Легко воспроизводить окружение на другой машине.

Установка и создание виртуального окружения

Чтобы создать виртуальное окружение, в терминале введите команду:

Windows:

python -m venv venv

Linux, Mac OS

python3 -m venv venv

Где первый venv - это имя команды, а второй venv - имя папки, в которой будет создано окружение.

Активация виртуального окружения

Windows:

. venv/Scripts/activate

Linux, Mac OS:

. venv/bin/activate

Точка в команде указывает на текущую директорию (по-другому можно указать source venv/bin/activate). По сути мы указываем путь к файлу activate который нужно запустить из текущей папки.

После активации в начале командной строки появится имя вашего окружения, например:

(venv) user@computer:~$

Проверка активного интерпретатора python

Для того, чтобы проверить, активировалось ли виртуальное окружение, введите команду:

which python

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

Чтобы выйти из виртуального окружения, выполните:

deactivate

Установка пакетов в виртуальном окружении

После активации все устанавливаемые пакеты будут попадать только в текущее виртуальное окружение:

pip install package_name

Сохранение и восстановление зависимостей

Чтобы сохранить список установленных пакетов в файл:

pip freeze > requirements.txt

Для установки всех зависимостей из файла:

pip install -r requirements.txt

Лучшие практики работы с venv

  1. Создавайте отдельное окружение для каждого проекта
  2. Не добавляйте папку окружения в систему контроля версий (добавьте ее в .gitignore)
  3. Всегда обновляйте файл requirements.txt при изменении зависимостей
  4. Используйте одинаковую версию Python для создания окружения на всех машинах

Альтернативы venv

Хотя venv является стандартным решением, существуют альтернативы:

  • virtualenv (более старая, но функционально богаче)
  • pipenv (объединяет venv и pip)
  • poetry (современный инструмент для управления зависимостями)

Заключение

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