Назад | Перейти на главную страницу

Как я могу запустить две версии Django на одном сервере?

у меня есть два веб-приложения. Один был разработан с использованием Django 1.0, а другой - с использованием Django 1.4. Как я могу запустить оба приложения на одном сервере apache2, используя две версии django? Кто-то сказал мне что-то о virtualenv ... Я использую mod_wsgi.

Спасибо

Вам обязательно стоит использовать virtualenv.

Вот как вы можете проверить, установлен ли у вас virtualenv:

$ virtualenv --version

Если у вас не установлен virtualenv, вы можете установить его следующим образом:

$ pip install virtualenv

Если это дает вам ошибку, у вас, вероятно, еще нет pip. Вы можете установить его, используя:

$ easy_install pip

После установки virtualenv вы можете создавать отдельные виртуальные среды Python, по одной для каждой установки Django, например:

$ virtualenv env

Я рекомендую запускать эту команду в папке проекта каждого приложения. Если вы это сделаете, вы получите папку с именем env, которая будет содержать виртуальную среду Python. Каждый раз, когда вы хотите начать работу с виртуальной средой, вы можете использовать эту команду:

$ source env/bin/activate

Ваше приглашение должно указывать на то, что вы запускаете среду, выглядя примерно так:

(env)$

Вы можете выйти из virtualenv, набрав:

(env)$ deactivate

Если вы зашли так далеко, вы можете начать установку версий пакетов Python для конкретной среды, как это (в активированной среде):

(env)$ pip install Django==1.0

Это установит Django версии 1.0 внутри текущей виртуальной среды. Вы можете увидеть, сработало ли это, выполнив:

(env)$ pip freeze

В результате должно получиться что-то вроде:

Django==1.0-final
wsgiref==0.1.2

Теперь вы можете деактивировать эту среду, активировать другую среду и установить Django 1.4 следующим образом:

(env)$ pip install Django==1.4

Надеюсь это поможет!