Wie bekomme ich mod_wsgi arbeiten am Mac?
Ich habe versucht, installieren Sie die neueste version von mod_wsgi (3.3), die seit Stunden auf meinem Mac. Ich bin auf Snow Leopard und ich habe die Versionen von Apache (Apache/2.2.15) und Python 2.6.1 (r261:67515), die kommen mit dem system.
-
Habe ich heruntergeladen mod_wsgi-3.3.tar.gz von http://code.google.com/p/modwsgi/downloads/detail?name=mod_wsgi-3.3.tar.gz
-
Die Datei extrahiert und ausgeführt, Folgendes über den terminal:
./configure
make
sudo make install -
Fügte ich LoadModule wsgi_module modules/mod_wsgi.so zu meiner httpd.conf.
-
Neustart von Apache durch das deaktivieren und aktivieren der Web-Sharing aus der Systemsteuerung.
-
localhost funktioniert, bis ich entfernen Sie die Zeile die ich Hinzugefügt httpd.conf 🙁
Bitte helfen. Vielen Dank im Voraus.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich die homebrew installierte version von
mod_wsgi
. Das gibt mir eine universal-version vonmod_wsgi
dass funktioniert mit Vanille apache.Das problem, das Sie hatte, war der Weg zu mod_wsgi.so. Auf OS X die entsprechende Zeile wird
Hatte ich zum ersten führen Sie den nachstehenden Befehl zu bekommen mod_wsgi installiert
Und führen Sie dann
Unter OS X 10.8 Mountain Lion,
brew install mod_wsgi
ausfällt. Diese Antwort auf stackexchange schlägt vor, die Lage der XCode-toolchain geändert hat. Es fixiert mein problem und hoffentlich hilft anderen Menschen, die am Ende hier auf 10.8 zu installieren versuchen, mod_wsgi.Ich auch festgestellt diesen Fehler, aber ich wollte nicht zu verwenden brauen.
In meinem Fall die Ursache für das problem war eine falsche Konfiguration von python-framework für mod_wsgi, die überprüft werden kann, indem Sie
otool -L /usr/libexec/apache2/mod_wsgi.so
In meinem Fall ist es verwies auf Python 2.7-framework, während ich war mit Python 3.3 und meinen
python -> /usr/bin/python
wies auch auf python 3.3 version.
Um dieses Problem zu beheben, habe ich bereits entfernt installiert
/usr/libexec/apache2/mod_wsgi.so
.Dann neu konfiguriert mod_wsgi mit dem Befehl:
./configure --with-python=/usr/bin/python --disable-framework
sudo make
sudo make install
Diese sollte funktionieren.
Aber in meinem Fall nach der Ausführung
make
Befehl ich habe eine Warnung über nicht vorhandene Python-framework-Ordner. Also fragte ich, was war der wirkliche Weg von meiner Python-framework-Ordner und ersetzt es in der Makefile unterLDFLAGS
.Geändert von:
-L/Library/Frameworks/Python.framework/Versions/3.3/lib/python3.3/config
zu
-L/Library/Frameworks/Python.framework/Versions/3.3/lib/python3.3/config-3.3m
Guter Weg, um überprüfen Sie die Apache-Module, wenn es nicht funktioniert, ist:
apachectl -M
Wenn einige module, die den Fehler verursacht, es wird gedruckt, es.
WSGIPythonPath
Richtlinie zu sagen, das Modul, das Python zu verwenden?Mit dem neuesten Mac OS und die meisten neueren HomeBrew, das Paket nicht auf HomeBrew.
Allerdings, wenn Sie Python ist3 und Pip3 installiert und konfiguriert auf Ihrem Mac, laden Sie das Paket mit:
Schrieb ich zwei tutorials zum installieren von Apache + MySQL + Python unter Mac OS und Windows.
Vielleicht können Sie einen Blick.
[Tutorial] installieren von Apache + MySQL + Python unter Mac OS
http://fstoke.me/blog/?p=3583
[Tutorial] installieren von Apache + MySQL + Python auf Windows
http://fstoke.me/blog/?p=3600
Mac OS X kommt mit apache 2 zu installieren mod_wsgi einfach zu installieren, homebrew und führen Sie den folgenden Befehl.
gehen apache2/modules/ und Suche für mod_wsgi.so
nach diesem springen apache2/conf/ und tun
und fügen Sie die folgende Zeile
LoadModule wsgi_module modules/mod_wsgi.so
Ich hatte Mühe, mod_wsgi so gut funktionieren, sogar mit anderen Völkern Ratschläge und es funktionierte nicht, also habe ich schließlich verwendet Sie diese website: https://pypi.python.org/pypi/mod_wsgi
Heruntergeladen mod_wsgi 4.5.15 Datei
Die Datei geöffnet hat, in einer location, die ich mochte
Ging um Ordner im terminal
Haben
python3 setup.py install
(oder python, wenn Sie eine andere version)Ich habe ein MacBook Pro Version 10.12.5 in diesem Fall hilft niemandem.