Ubuntu 11.10; Python2.7 требуется для libapache2-mod-wsgi, установленной на Python2.6

У меня проблемы с настройкой сервера Django в режиме wsgi с Ubuntu 11.10. Вот в чем проблема: в последней версии Ubuntu 11.10 по умолчанию установлен python2.7. Установка apache2 и libapache2-mod-wsgi предполагает работу с python2.6. Моя конфигурация проверена ранее и работает, но не в этих условиях. Теперь у меня есть 403 Запрещенное сообщение. Что бы вы мне порекомендовали. Оставьте python2.7 и скомпилируйте apache wsgi для python2.7 или сделайте по умолчанию python2.6 для системы (что плохо, так как 2.7 лучше для моих требований django)

3 ответа

Решение

Как насчет использования виртуальной среды с помощью команды mkvirtualenv? Вы можете выбрать свою собственную версию Python для своей виртуальной среды. На самом деле, Ubuntu позволяет вам устанавливать Python 2.6 и 2.7 из двоичных пакетов.

$ mkvirtualenv name --python=python2.7 --no-site-packages

Если Python 2.7 лучше для ваших требований, я предлагаю вам скомпилировать mod_wsgi для этой версии Python.

Теоретически libapache2-mod-wsgi должен корректно работать с Python 2.6:

Depends: apache2, apache2.2-common, libc6 (>= 2.4), libpython2.6 (>= 2.6),   
libpython2.7 (>= 2.7), python (>= 2.6), python (<< 2.8)

Другой вариант - использовать uWSGI (libapache2-mod-uwsgi) для Apache.

Я просто пытался выяснить, как настроить mod_wsgi с Python 2.7 на моем сервере Ubuntu 11.10, когда обнаружил, что libapache2-mod-wsgi поставляется с двоичными файлами для Python 2.6 и 2.7.

Вы можете выбрать между 2,6 и 2,7, изменив символическую ссылку.

root@webserver-01:/etc/apache2/mods-available# ls /usr/lib/apache2/modules/mod_wsgi* -la
lrwxrwxrwx 1 root root     15 2011-06-03 15:01 /usr/lib/apache2/modules/mod_wsgi.so -> mod_wsgi.so-2.7
-rw-r--r-- 1 root root 152064 2011-06-03 15:01 /usr/lib/apache2/modules/mod_wsgi.so-2.6
-rw-r--r-- 1 root root 152064 2011-06-03 15:01 /usr/lib/apache2/modules/mod_wsgi.so-2.7
Другие вопросы по тегам