Первой моей идеей было поднять разные виртуалки для тестирования, но немного погуглив наткнулся на такую замечательную вещь, как virtualenv. Как написано на оффициальном сайте - “virtualenv is a tool to create isolated Python environments”, что в переводе звучит, примерно, так: “virtualenv - приложение для созданий изолированных рабочих сред для python”. Таким образом вы можете создать несколько окружений с разными версиями python и/или других библиотек.
Установка virtualenv ничем не отличается от установки любой библиотеки, написанной на python. В моем случае установка выглядила так:
sudo easy_install virtualenv
****После установки virtualenv процесс создание виртуального окружения состоит всего лишь из одной команды:
virtualenv -p /usr/bin/python2.5 ./gae/
****Здесь с помощью параметра -p я указал версию python, которую необходимо использовать для виртуального окружения. Последним параметром идет путь к директории, в которой необходимо все создать. Так же рекомендуется добавлять параметр –no-site-packages, для того, чтобы из виртуального окружения не было доступа к пакетам из “реальной” среды (из встроенной справки: Don’t give access to the global site-packages dir to the virtual environment). У себя этот параметр я не использовал по следующей причине: на рабочем PC mbp я использую такую схему библиотек:
Теперь, после создания virtualenv появилась такая структура папок:
bin** include **lib
****В Windows-like OS структура папок может немного отличаться.
$ python –version
Python 2.6.5
$ ./bin/python –version
Python 2.5.4
Например, мне нужно запустить GAE-приложение с использованием django. Если я его запущу в текущей конфигурации моей рабочей машины, то получу следеющую ошибку:
UnacceptableVersionError: django 1.0 was requested, but 1.2.1.final.0 is already in use.
Поэтому, мне необходимо установить django 1.0 в созданное виртуальное окружение. Описывать процесс загрузки и распаковки не буду, надеюсь, с этим справятся все, а перейду сразу у описанию установки.
Для переключения в виртуальное окружение проще всего использовать скрипт activate, который лежит в каталоге bin нашего vitrualevn:
e0ne-macbook:gae e0ne$ source bin/activate
(gae)e0ne-macbook:gae e0ne$ python –version
Python 2.5.4
Для выхода из виртуального окружения существует команда deactivate:
**(gae)e0ne-macbook:gae e0ne$ deactivate **
**e0ne-macbook:gae e0ne$ **
Перейдем непосредственно к установке djngo в созданное виртуальное окружение. Установка любого python-пакета в virtualenv ничем не отличается от обычного процесса установки и выполняется всем знакомой командой:
(gae)e0ne-macbook:Django-1.0.4 e0ne$ python setup.py install
Теперь у меня есть 2 полноценных рабочих среды с простым и быстрым переключением между ними.
Я описал лишь базовые возможности пакета virtualenv, но и этого вполне достаточно для того, чтобы увидеть всю его мощь, спрятанную я простым и понятным интерфейсом. Как всегда, все подробности на оффициальной странице: http://pypi.python.org/pypi/virtualenv