Wo sollte WSGIPythonPath Punkt in meinem virtualenv?
Habe ich einen Ordner namens python2.7
innerhalb von lib
in der virtuellen Umgebung.
Nach dem Lesen ein halbes Dutzend tutorials, ich kann nicht herausfinden, genau das, was ich vermute, um die WSGIPythonPath. Ich habe gesehen, einige zeigen auf site-packages
aber einige haben schon einen Doppelpunkt :
getrennte Liste.
Syntax error on line 1019 of /etc/httpd/conf/httpd.conf:
WSGIPythonPath cannot occur within <VirtualHost> section
Wo sollte WSGIPythonPath Punkt in meinem virtualenv?
Was ist dein setup? Sind Sie versuchen, führen Sie eine web-Anwendung durch Apache (via Mod_WSGI)? Oder einem anderen webserver? Wo konkret werden Sie versuchen, die "WSGIPythonPath"?
Apache und mod_wsgi, ja. Versuche, "WSGIPythonPath" in die apache-Konfigurationsdatei für
Und sind Sie mit Mod_WSGI im daemon-Modus und embedded-Modus? Es kann auch hilfreich sein, um zu posten Sie Ihre VirtualHost - /Apache-Konfiguration zusammen mit Ihrer Frage.
Um ehrlich zu sein, ich bin mir nicht sicher, @Timusan. Ich werde versuchen, herauszufinden, was man
Grundsätzlich, gerade jetzt, der Fehler ist
Apache und mod_wsgi, ja. Versuche, "WSGIPythonPath" in die apache-Konfigurationsdatei für
<VirtualHost *:80>
Und sind Sie mit Mod_WSGI im daemon-Modus und embedded-Modus? Es kann auch hilfreich sein, um zu posten Sie Ihre VirtualHost - /Apache-Konfiguration zusammen mit Ihrer Frage.
Um ehrlich zu sein, ich bin mir nicht sicher, @Timusan. Ich werde versuchen, herauszufinden, was man
Grundsätzlich, gerade jetzt, der Fehler ist
Syntax error on line 1019 of /etc/httpd/conf/httpd.conf: WSGIPythonPath cannot occur within <VirtualHost> section
InformationsquelleAutor user83039 | 2015-01-08
Du musst angemeldet sein, um einen Kommentar abzugeben.
Bekommen Sie die Fehlermeldung, da WSGIPythonPath Richtlinie kann nicht verwendet werden, innerhalb der VirtualHost Kontext. Sie haben zu erklären, es in Ihrem Haupt-Konfigurationsdatei von Apache. Wenn Sie wollen immer noch auf die Verzeichnisse verweisen, die in Ihrem virtualenv innerhalb des VirtualHost-Kontext, Nutzung WSGIDaemonProcess Richtlinie, es hat sich stattdessen eine python-Pfad option für Sie deklarieren die entsprechenden python-Verzeichnisse.
Beispiel: in Ihrer virtual-host-Konfigurationsdatei sollte wie folgt Aussehen:
Den vollständigen Dickdarm : wird verwendet, wenn Sie mehr als eine python-Verzeichnisse, die Sie möchten, Hinzugefügt werden, um $PYTHON_PATH-Umgebungsvariable so, dass sagen import Beispiel.foo funktioniert einwandfrei. Im obigen Beispiel gibt es zwei Verzeichnisse, Sie könnte mehr oder weniger sein, je nachdem, wie Sie Ihre setup-Projekt.
Wenn Sie auf windows verwenden Sie Semikolon, statt der vollen Dickdarm.
Ich hoffe, das hilft.
InformationsquelleAutor kaykae
tl;dr: Verwenden Sie
WSGIDaemonProcess python-home=…
. Alternativen mit entwederWSGIPythonPath
oderWSGIDaemonProcess python-path=…
(-path
nicht-home
) werden nicht mehr empfohlen.Der alten und der neuen Weise
Wie erwähnt von @kaykae,
WSGIPythonPath
kann nicht verwendet werden, in einemVirtualHost
Kontext, sondernWSGIDaemonProcess python-path=…
entspricht. Doch während diese noch arbeiten können, es ist nicht mehr die empfohlene Methode zum einrichten von Apachemod_wsgi
mit virtuellen Python-Umgebungen:, Wie es den neuen Weg
Die Tatsache, dass Sie versuchen, konfigurieren Sie
mod_wsgi
innerhalb einerVirtualHost
Zusammenhang zeigt Sie die "daemon-Modus" configuration version. Nach dem Zitat oben, ist der empfohlene Weg, um Ihrevirtualenv
Umfeld in Ihrem Python-Pfad wäre dann ein Abschnitt, wie dies in IhremVirtualHost
Abschnitt (obwohl es kann auch definiert werden, auch außerhalb, wie auf Sie verwiesen werden kann mit dermyapp1
Bezeichner für die faemon-Prozess-Gruppe, die Sie wählen):Beachten Sie, dass
/path/to/project/venv
ist die base Pfad Ihrervirtualenv
Umgebung. Es wäre ein Unterverzeichnisvenv
in das Verzeichnis, in dem Sie aufgerufenvirtualenv venv
zu erstellen.Beachten Sie auch, dass Sie kann hinzufügen, andere Wege zu Ihrem Python-Pfad, um Ihre
import
Aussagen der Arbeit für Pakete, die nicht verwaltete per PIP oder ähnliches. Zum Beispiel können Sie fügen Siepython-path=/path/to/project
. Nur don ' T verwenden diesen Mechanismus, um zu sagen, wsgi über die ganze virtualenv setup – für die, die Sie eingeführtpython-home
.InformationsquelleAutor tanius
Hier ist die offizielle Dokumentation: https://docs.djangoproject.com/en/1.10/howto/deployment/wsgi/modwsgi/#using-a-virtualenv
WGIPythonHome
zu beziehen virtuellen Umgebung bei Verwendung der embedded-Modus und diepython-home
option, wenn Sie den daemon-mode. Siehe: blog.dscpl.com.au/2014/09/...InformationsquelleAutor Massimo Variolo