Виртуальное окружение
Доводилось слышать о
virtualenv
? Если вы начинающий, то, вероятно, нет. Для опытного же разработчика это неотъемлемая часть инструментария.Так что же такое
virtualenv
? virtualenv
- это утилита для создания изолированных окружений в Python. Предположим - у нас есть приложение, которое требует версию 2 определенной библиотеки, однако, другое приложение требует версию 3. Как нам использовать и р аботать сразу с обоими?Если вы установите всё необходимое в
/usr/lib/python2.7/site-packages
(путь может отличаться в зависимости от платформы и версии языка), то легко можете случайно обновить уже установленный пакет.В другом случае, предположим, у нас есть полностью готовое приложение, и вы не хотите вносить изменения в его зависимости, в то же время вы работаете над другим приложением, которое требует последних версий библиотек из зависимостей первого приложения.
Что вы будете делать? Использовать
virtualenv
! Оно создаст изолированные окружения для ваших приложений и позволит устанавливать пакеты именно в эти окружения, а не глобально.Для установки воспользуемся
pip
:$ pip install virtualenv
Две основные команды:
$ virtualenv myproject
$ source myproject/bin/activate
Первая создаст новое изолированное окружение в папке
myproject
, а вторая активирует это окружение.При создании виртуального окружения вам нужно принять решение. Хотите ли вы, чтобы виртуальное окружение использовало пакеты, установленные глобально, но по умолчанию у
virtualenv
нет к ним доступа.Если вы хотите открыть
virtualenv
доступ к глобально установленным пакетам, то используйте флаг --system-site-packages
во время создания окружения:$ virtualenv --system-site-packages mycoolproject
Вы можете деактивировать виртуальное окружение, набрав:
$ deactivate
Команда
python
вновь будет использовать глобально установленный в системе интерпретатор Python после деактивации виртуального окружения.Вы можете использовать
smartcd
- библиотеку для bash и zsh, с помощью которой автоматически активировать и деактивировать виртуальное окружение при использовании команды cd
. Больше информации здесь: GitHubЭто было короткое введение в тему виртуальных окружений. Дополнительную информацию можно почерпнуть здесь.
Last modified 3yr ago