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

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

@Pycoders

Определение

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

Причины использовать

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

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

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

Работа с virtualenv

Все действия производились на ОС Linux, аналогично будет и на macOS. Для пользователей Windows тоже будут советы.

  • Установка

Загрузить можно через pip.

Если вы увидели что-то похожее, то это хороший знак.

  • Создание

Для начала создадим новую директорию для вашего проекта и перейдем в нее.

Далее делаем следующее.

venv - имя виртуального окружения, которое создается. Вы можете выбрать любое другое. Итак, у нас появился каталог venv в нашей директории project; разберемся, что же там внутри.

venv/bin/ – содержит скрипты для активации/деактивации окружения, интерпретатор Python, используемый в рамках данного окружения, менеджер pip и ещё несколько инструментов, обеспечивающих работу с пакетами Python. В Windows, это каталог venv\Scripts.

venv/include/ и venv/lib/ – каталоги, содержащие библиотечные файлы окружения. Новые пакеты будут установлены в каталог venv/lib/python3.6/site-packages/.

  • Активация

Команда source выполняет bash-скрипт без запуска второго bash-процесса.

Если вы видите (venv), то это означает, что виртуальное окружение активировалось успешно.

Для Windows немного другая команада - venv\Scripts\activate.bat

  • Деактивация

Здесь ничего сложного.

Работа в виртуальном окружении

Посмотрим, какие пакеты у нас установлены.

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

Установим какой-нибудь модуль в наше окружение.

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

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


Официальная документация virtualenv - https://virtualenv.pypa.io/en/stable/

Report Page