Sie erhalten den Fehler, da WSGIPythonPath Richtlinie nicht innerhalb der Virtual Kontext verwendet werden. Sie müssen es in Ihrer Haupt-Apache-Konfigurationsdatei deklarieren. Wenn Sie immer noch auf die Verzeichnisse in Ihrem virtualenv innerhalb des VirtualHost-Kontexts zeigen möchten, verwenden Sie stattdessen die Option WSGIDaemonProcess Direktive, damit Sie Ihre relevanten Python-Verzeichnisse deklarieren können.
Zum Beispiel: Ihre virtuellen Host-Konfigurationsdatei wie folgt aussehen sollte:
<VirtualHost *:80>
ServerName example.com
CustomLog logs/example.com-access_log common
ErrorLog logs/example.com-error_log
WSGIDaemonProcess example.com python-path=/virtualenvpathto/site-packages:/pathto/exampleprojecthome
WSGIProcessGroup example.com
...
</VirtualHost>
Der vollständige Kolon : wird verwendet, wenn Sie mehr als ein Python-Verzeichnisse haben Sie $ hinzugefügt werden möchten, PYTHON_PATH Umgebungsvariable, so dass import example.foo funktioniert gut. Im obigen Beispiel gibt es zwei Verzeichnisse, sie können mehr oder weniger davon abhängig sein, wie Sie Ihr Projekt eingerichtet haben.
Wenn Sie Windows verwenden, verwenden Sie Semikolon; anstelle des vollständigen Doppelpunkts.
Ich hoffe, das hilft.
Was ist Ihr Setup? Versuchen Sie eine Webanwendung über Apache (über Mod_WSGI) auszuführen? Oder ein anderer Webserver? Wo genau wollen Sie den "WSGIPythonPath" einstellen? – Timusan
Apache und mod_wsgi, ja.Versuchen Sie, "WSGIPythonPath" in der Apache-Konfigurationsdatei für '' –
user83039
zu setzen. Und verwenden Sie Mod_WSGI im Daemon-Modus oder im Embedded-Modus? Es kann auch hilfreich sein, Ihren VirtualHost/Apache-Konfigurationseintrag zusammen mit Ihrer Frage zu veröffentlichen. – Timusan