Программа создания виртуальных окружений для 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. Таким образом, вы можете иметь множество различных окружений для всех ваших потребностей в разработке.

Примечание

Всегда помните о создании виртуальных окружений при разработке новых приложений. Это поможет вам сохранить системные модули чистыми.

Перейти к следующему уроку →