Apache mit virtualenv und mod_wsgi: ImportError: Kein Modul namens 'django'

Ich versuche, ein kleines Django-Projekt mit der folgenden Apache-Konfiguration zu bedienen:

Apache virtualhost Konfiguration:

<VirtualHost *>
    ServerName servername

    [...]

    <Directory "/path/to/project/project">
        <Files wsgi.py>
            Require all granted
        </Files>
    </Directory>

    WSGIDaemonProcess project python-path=/path/to/project:/path/to/Envs/venv/lib/python3.5/site-packages                           
    WSGIScriptAlias / /path/to/project/project/wsgi.py

</VirtualHost>

Ich habe auch die folgende wsgi.py:

import os
from django.core.wsgi import get_wsgi_application

os.environ.setdefault("DJANGO_SETTINGS_MODULE", "example.settings")
application = get_wsgi_application()

ch habe kein Problem damit, STATIC-Dateien und MEDIA-Dateien bereitzustelle

Ich habe auch die Berechtigungen überprüft und versucht, rekursiv 755 und dann 777 in das Site-Package-Verzeichnis meines virtualenv zu verwenden. Es hat nicht funktioniert.

Aber wenn ich versuche, das Stammverzeichnis meiner Website zu erreichen, bekomme ich Folgendes:

from django.core.wsgi import get_wsgi_application
ImportError: No module named 'django'

Ich vermutete, dass es ein @ wPython-Pfad verwandtes problem da django in meinem virtualenv installiert ist. Aber ich habe die relevanten Python-Pfade zum @ hinzugefüWSGIDaemonProcess 'spython-path Attribut, damit ich nicht verstehe, warum es nicht funktioniert.

Ich denke auch, ich könnteügen Sie das entsprechende Verzeichnis zu meinem Python-Pfad in meiner wsgi.py hinzu, indem Sie das @ verwendesite module, aber ich würde gerne verstehen, warum die Apache-Konfiguration, die ich ausprobiert habe, nicht ausreicht. Habe ich etwas verpasst

Antworten auf die Frage(6)

Ihre Antwort auf die Frage