Зручна робота з віртуальним середовищем
Коли працюєш над декількома проектами, в кожного з яких своє віртуальне середовище, стає незручно щоразу виконувати одні і ті ж команди для їх створення/активації/видалення. Virtualenvwrapper - класна утиліта, менеджер-обгортка для роботи з віртуальними середовищами. Вона має свою власну папку, де зберігають віртуальні середовища, тому відпадає необхідність додавати створену папку в ігнор системи контролю версій, вирішувати проблему, коли незрозуміло, чи середовище було створено з віртуальної чи хостової машини; і взагалі спрощує виконання повсякденних операцій з середовищами. Отож, встановлення і деякі основні команди і через пʼять хвилин ви вже будете працювати лише з цим інструментом.
Встановлюємо (працює з другою і третьою версіями). Є і версія для Вінди, але її я не перевіряв.
1 | $ pip install virtualenvwrapper |
І додаємо команди для інтеграції з командним рядком (приклад для bash) у файл ~/.bash_profile
1 | export WORKON_HOME=$HOME/.virtualenvs |
Перезавантажуємо консоль чи виконуємо source ~/.bash_profile
. Готово, можна створювати віртуальні середовища
1 | $ mkvirtualenv test |
Середовище створиться і автоматично активується. Деактивувати можна тією ж командою deactivate
.
Список деяких команд
mkvirtualenv
- створити віртуальне середовищеmkvirtualenv --python /usr/bin/python
- конкретно вказати інтерпретатор, для якого буде створено (наприклад, якщо працюєте з другою та третьою версіями на різних проектах)lsvirtualenv -b
- показати список всіх середовищ (ключ для стислого виводу)rmvirtualenv test
- видалити середовищеworkon
- активувати середовище або відобразити список усіх, якщо назва не вказанаcdvirtualenv
- перейти в папку віртуального середовищаcdsitepackages
- перейти в папку зі встановленими пакетами. Це реально зручно, я б використовував лише задля цієї командиwipeenv
- очистить середовище від усіх встановлених сторонніх бібліотек
Серед інших корисних штук: можна зробити автоматичну активацію при зміні папки, автоматичний запуск додаткових скриптів перед чи після активації і ще трохи іншого (див. документацію)