В данной статье речь пойдет об инструменте virtualenv (Virtual Python Environment builder), автором которого является Ian Bicking.
Что такое virtualenv?
virtualenv — это утилита, позволяющая создавать изолированные виртуальные окружения для интерпретатора Python. Представим ситуацию, когда разработчик создает несколько веб-приложений и каждое из них имеет свои собственные зависимости и разрешения. Если для разработки используется глобальный интерпретатор Python и каждое из разрабатываемых приложений имеет свой собственный набор требований, может возникнуть ситуация, когда количество установленных пакетов в системе уже практически не поддается контролю. В этом случае разработчику будет сложно разобраться, какие из пакетов принадлежат конкретным проектам — есть риск возникновения неразберихи.
Утилита virtualenv позволяет создать собственное виртуальное окружение для каждого из проектов, как бы выделяя ему отдельный экземпляр интерпретатора, что позволяет устанавливать необходимые версии зависимых пакетов для каждого проекта в отдельности. Это избавляет разработчика от путаницы и дает возможность в случае переноса проекта на другую машину установить только необходимые дополнительные компоненты.
В случае Ubuntu, установка virtualenv выполняется следующим образом:
# Устанавливаем менеджер пакетов pip:
sudo apt-get install python3-pip
# С помощью pip устанавливаем virtualenv:
sudo pip3 install virtualenv
# Логинимся под нужного пользователя(!) и создаем новое виртуальное окружение с использованием интерпретатора Python 3:
virtualenv -p python3 venv
# С помощью команды Source активируем виртуальное окружение:
source venv/bin/activate
# В случае отключения окружения набираем...
deactivate
Справочная информация по работе с virtualenv: