virtualenv в Python3

Виртуальная среда - это независимое дерево каталогов, в котором размещается установка Python для конкретной версии Python, а также определенное количество дополнительных пакетов.

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

В этом руководстве мы обсудим, что такое виртуальная среда и как ее создать в Python 3.

Используйте модуль venv в Python

В Python 2 для создания виртуальных сред и управления ими использовался модуль virtualenv. В Python 3 он был заменен на модуль venv.

Модуль venv предлагает поддержку для создания облегченных виртуальных сред вместе с их каталогами сайтов, которые могут быть отделены от системных каталогов, если пользователь хочет.

Создание виртуальной среды

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

Создать виртуальную среду можно с помощью следующей команды.

python3 -m venv envname

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

Активация виртуальной среды

Прежде чем перейти к этапу, на котором мы можем установить или использовать пакеты в виртуальной среде, нам сначала нужно их активировать. Когда виртуальная среда активирована, она помещает виртуальные исполняемые файлы pip и python в path вашей оболочки.

.\envname\Scripts\activate

Подтвердить наше существование в виртуальной среде можно, проверив текущее местоположение интерпретатора Python.

where python
# Output: .../env/bin/python.exe

Команды pip и python будут продолжать работать, пока виртуальная среда активна и приложение Python сможет использовать и импортировать пакеты.

Выход из виртуальной среды

В этом случае возможно переключение на другие проекты и среды. Также возможен переход из одной виртуальной среды в другую.

В следующем коде используется простая команда, используемая для выхода из виртуальной среды.

deactivate

Если есть необходимость снова войти в эту конкретную виртуальную среду, можно выполнить приведенные выше инструкции, за исключением того, что мы не активируем виртуальную среду. Повторного создания виртуальной среды не требуется.

Сопутствующая статья - Python virtualenv

  • Как создать и активировать виртуальную среду Python