Программа создания виртуальных окружений для Python или virtualenv — это инструмент, который поможет вам устанавливать различные версии модулей Python в локальный каталог, используя который вы сможете разрабатывать и тестировать свой код, не требуя установки всего глобально в системе.
Установка
Вы можете установить virtualenv либо из пакета, предоставленного дистрибутивом, либо через pip.
$ sudo yum install python-virtualenv
Или
$ sudo pip install virtualenv
Использование
Мы создадим директорию с названием virtual, внутри которой будут находиться два различных виртуальных окружения.
Следующие команды создадут окружение с именем virt1.
$ cd virtual
$ virtualenv virt1
Новый исполняемый файл Python в virt1/bin/python
Установка setuptools............завершено.
Установка pip...............завершено.
Теперь мы можем активировать окружение virt1.
$ source virt1/bin/activate
(virt1)[user@host]$
Первая часть приглашения теперь является именем виртуального окружения, это поможет вам определить, в каком окружении вы находитесь, когда у вас есть несколько окружений.
Чтобы деактивировать окружение, используйте команду deactivate.
(virt1)$ deactivate
$
Итак, теперь мы установим модуль Python под названием redis.
(virt1)$ pip install redis
Загрузка/распаковка redis
Загрузка redis-2.6.2.tar.gz
Выполнение setup.py egg_info для пакета redis
Установка собранных пакетов: redis
Выполнение setup.py install для redis
Успешно установлен redis
Очистка...
Таким же образом мы можем установить проект под названием yolk, который сообщает нам, какие модули установлены.
(virt1)$ pip install yolk
(virt1)$ yolk -l
Python - 2.7.3 - активная разработка (/usr/lib64/python2.7/lib-dynload)
pip - 1.1 - активный
redis - 2.6.2 - активный
setuptools - 0.6c11 - активный
wsgiref - 0.1.2 - активная разработка (/usr/lib64/python2.7)
yolk - 0.4.3 - активный
Теперь мы создадим другое виртуальное окружение virt2, где установим тот же модуль redis, но старую версию 2.4.
$ virtualenv virt2
Новый исполняемый файл Python в virt1/bin/python
Установка setuptools............завершено.
Установка pip...............завершено.
$ source virt2/bin/activate
(virt2)$
(virt2)$ pip install redis==2.4
Загрузка/распаковка redis
Загрузка redis-2.4.0.tar.gz
Выполнение setup.py egg_info для пакета redis
Установка собранных пакетов: redis
Выполнение setup.py install для redis
Успешно установлен redis
Очистка...
(virt2)$ pip install yolk
(virt2)$ yolk -l
Python - 2.7.3 - активная разработка (/usr/lib64/python2.7/lib-dynload)
pip - 1.1 - активный
redis - 2.4.0 - активный
setuptools - 0.6c11 - активный
wsgiref - 0.1.2 - активная разработка (/usr/lib64/python2.7)
yolk - 0.4.3 - активный
Как видите, yolk сообщает, что в этом окружении установлен redis 2.4. Таким образом, вы можете иметь множество различных окружений для всех ваших потребностей в разработке.
Примечание
Всегда помните о создании виртуальных окружений при разработке новых приложений. Это поможет вам сохранить системные модули чистыми.