Коли працюєш над декількома проектами, в кожного з яких своє віртуальне середовище, стає незручно щоразу виконувати одні і ті ж команди для їх створення/активації/видалення. Virtualenvwrapper - класна утиліта, менеджер-обгортка для роботи з віртуальними середовищами. Вона має свою власну папку, де зберігають віртуальні середовища, тому відпадає необхідність додавати створену папку в ігнор системи контролю версій, вирішувати проблему, коли незрозуміло, чи середовище було створено з віртуальної чи хостової машини; і взагалі спрощує виконання повсякденних операцій з середовищами. Отож, встановлення і деякі основні команди і через пʼять хвилин ви вже будете працювати лише з цим інструментом.

Встановлюємо (працює з другою і третьою версіями). Є і версія для Вінди, але її я не перевіряв.

1
$ pip install virtualenvwrapper

І додаємо команди для інтеграції з командним рядком (приклад для bash) у файл ~/.bash_profile

1
2
3
export WORKON_HOME=$HOME/.virtualenvs
export PROJECT_HOME=$HOME/code
source /usr/local/bin/virtualenvwrapper.sh

Перезавантажуємо консоль чи виконуємо source ~/.bash_profile. Готово, можна створювати віртуальні середовища

1
$ mkvirtualenv test

Середовище створиться і автоматично активується. Деактивувати можна тією ж командою deactivate.

Список деяких команд

  • mkvirtualenv - створити віртуальне середовище

  • mkvirtualenv --python /usr/bin/python - конкретно вказати інтерпретатор, для якого буде створено (наприклад, якщо працюєте з другою та третьою версіями на різних проектах)

  • lsvirtualenv -b - показати список всіх середовищ (ключ для стислого виводу)

  • rmvirtualenv test - видалити середовище

  • workon - активувати середовище або відобразити список усіх, якщо назва не вказана

  • cdvirtualenv - перейти в папку віртуального середовища

  • cdsitepackages - перейти в папку зі встановленими пакетами. Це реально зручно, я б використовував лише задля цієї команди

  • wipeenv - очистить середовище від усіх встановлених сторонніх бібліотек

Серед інших корисних штук: можна зробити автоматичну активацію при зміні папки, автоматичний запуск додаткових скриптів перед чи після активації і ще трохи іншого (див. документацію)

Ресурси