используя django с https используя apache - PullRequest
0 голосов
/ 17 ноября 2011

Я использую Apache 2.2.21 с mod_wsgi на машине с Arch Linux.Я хочу использовать django с возможностью https.Я также установил python2.7 и python 3.2.Файл проекта django.wsdi приведен ниже.Когда я пытаюсь получить доступ к файлу примера с https, но без использования django, он работает нормально.Когда я пытаюсь получить файл из проекта django, используя https, я получаю следующую ошибку - ImportError: No module named django.core.handlers.wsgi

Когда я перехожу в / usr / lib / httpd / modules и выполняю ldd mod_wsgi.so, я получаю следующеекоторый показывает, что он скомпилирован с Python 3.2.Но django не поддерживает Python 3.2, только 2.7.

Как обойти эту проблему?

Оценить любую помощь / указатели.

$ldd mod_wsg.so
    linux-vdso.so.1 =>  (0x00007fff769e1000)
    libpython3.2mu.so.1.0 => /usr/lib/libpython3.2mu.so.1.0 (0x00007f82a3188000)
    libpthread.so.0 => /lib/libpthread.so.0 (0x00007f82a2f6b000)
    libdl.so.2 => /lib/libdl.so.2 (0x00007f82a2d66000)
    libutil.so.1 => /lib/libutil.so.1 (0x00007f82a2b63000)
    libm.so.6 => /lib/libm.so.6 (0x00007f82a28e1000)
    libc.so.6 => /lib/libc.so.6 (0x00007f82a2559000)
    /lib/ld-linux-x86-64.so.2 (0x00007f82a37e5000)

django.wsdi file: import os import sys

os.environ['DJANGO_SETTINGS_MODULE'] = 'mysite.settings'

import django.core.handlers.wsgi
application = django.core.handlers.wsgi.WSGIHandler()

path = '/to/mysite'
if path not in sys.path:
    sys.path.append(path)

1 Ответ

0 голосов
/ 17 ноября 2011

Установить версию mod_wsgi, скомпилированную для Python 2.7.Модуль mod_wsgi может быть привязан только к одной версии Python за раз, и то, что он использует, не может быть изменено динамически, вместо этого он может быть установлен только во время компиляции.

Если вы действительно хотите использовать разные версии Python вв разное время вы не сможете использовать один экземпляр Apache / mod_wsgi.

...