Kann mir jemand eine klare Anleitung zur Installation von mod_wsgi auf Ubuntu für Python 3 geben?Installation von mod_wsgi für Python3 unter Ubuntu
Ich bekam Flask & mod_wsgi erfolgreich mit Python3, und für einen kurzen Moment fühlte ich mich glücklich.
... bis ich bei Apache-Protokoll sah und erkannte, dass ich in dieses Problem haben: https://askubuntu.com/questions/569550/assertionerror-using-apache2-and-libapache2-mod-wsgi-py3-on-ubuntu-14-04-python Version
apt-get
ist die Installation eines veraltet von libapache2-mod-wsgi-py3
und diese Fehler in Apache-Protokoll verursacht. (Soll ich dies melden und wenn ja wo?)
In der Verknüpfung verwendet der Techniker pip
, um eine aktuellere Version zu installieren.
Interessanterweise scheint er es in eine virtuelle Python3-Umgebung zu installieren. (Wäre dies anders, als mit dem System pip3
?)
er auch verwendet pip3 install mod_wsgi
, aber pip3 search mod_wsgi
kehrt:
(EDIT: nein er es nicht tut, benutzt er Pip nicht PIP3 Kann das richtig sein. ? hat er seine Drähte gekreuzt? wird ignorieren die Tatsache nicht pip, dass er in seiner py3venv ist und einfach das System py2 Installation verwenden? Aber wie auch immer, die nicht die Verwirrung ...) löst
mod_wsgi-metrics - Metrics package for Apache/mod_wsgi.
cykooz.recipe.pastewsgi - Buildout recipe to create paste.deploy entry points for mod_wsgi or uwsgi
mod_wsgi-httpd - Installer for Apache httpd web server.
apachemiddleware - Useful Python middleware for use with mod_wsgi deployments
tranchitella.recipe.wsgi - Buildout recipe to create paste.deploy entry points for mod_wsgi
mod_wsgi - Installer for Apache/mod_wsgi.
Was ist also mod_wsgi-httpd
? Und ist es sicher, dass dies nicht der ist, den ich will?
Schließlich kann jemand einen Link zur Installation von mod_wsgi aus der Quelle bereitstellen?
EDIT: Ich verstehe nicht, warum der Ingenieur pip install mod_wsgi
statt pip3 ...
verwendet. Das kann doch nicht stimmen. Aber wenn ich PIP3 verwende, erhalte ich:
[email protected]:~$ cd web/piFlask
[email protected]:~/web/piFlask$ source ./venv3/bin/activate
(venv3)
[email protected]:~/web/piFlask$ pip3 install mod_wsgi
Downloading/unpacking mod-wsgi
Downloading mod_wsgi-4.4.12.tar.gz (991kB): 991kB downloaded
Running setup.py (path:/home/pi/web/piFlask/venv3/build/mod-wsgi/setup.py) egg_info for package mod-wsgi
Traceback (most recent call last):
File "<string>", line 17, in <module>
File "/home/pi/web/piFlask/venv3/build/mod-wsgi/setup.py", line 141, in <module>
'missing Apache httpd server packages.' % APXS)
RuntimeError: The 'apxs' command appears not to be installed or is not executable. Please check the list of prerequisites in the documentation for this package and install any missing Apache httpd server packages.
Complete output from command python setup.py egg_info:
Traceback (most recent call last):
File "<string>", line 17, in <module>
File "/home/pi/web/piFlask/venv3/build/mod-wsgi/setup.py", line 141, in <module>
'missing Apache httpd server packages.' % APXS)
RuntimeError: The 'apxs' command appears not to be installed or is not executable. Please check the list of prerequisites in the documentation for this package and install any missing Apache httpd server packages.
----------------------------------------
Cleaning up...
Command python setup.py egg_info failed with error code 1 in /home/pi/web/piFlask/venv3/build/mod-wsgi
Storing debug log for failure in /home/pi/.pip/pip.log
Und jetzt versuche ich pip3 install mod_wsgi-httpd
, dauert es etwa fünf Minuten zu kompilieren:
(venv3)
[email protected]:~/web/piFlask$ pip3 install mod_wsgi-httpd
Downloading/unpacking mod-wsgi-httpd
Downloading mod_wsgi-httpd-2.4.12.5.tar.gz
Running setup.py (path:/home/pi/web/piFlask/venv3/build/mod-wsgi-httpd/setup.py) egg_info for package mod-wsgi-httpd
apr-1.5.2/
apr-1.5.2/config.layout
apr-1.5.2/build.conf
apr-1.5.2/emacs-mode
:
So jetzt bin ich besorgt ich eine zweite haben Apache sitzt in meinem Py3 virtualenv.
Aber das beseitigt den Fehler; pip3 install mod_wsgi
wird jetzt erfolgreich abgeschlossen.
EDIT: aber jetzt bin ich völlig losgelöst und versuche seinen Anweisungen zu folgen: Ich habe kein /etc/apache2/mods-available/wsgi_express.load
, und wenn er vorschlägt, es zu machen, dann scheint das zunächst willkürlich, und zweitens schlägt er den Text vor in ihm, dh LoadModule wsgi_module /usr/lib/apache2/modules/mod_wsgi-py34.cpython-34m.so
- diese Datei existiert nicht auf meinem System.
Ich habe /etc/apache2/mods-available/wsgi.load
wieder in Technologie Ertrinken, kann mir jemand wirft eine Linie?
ich entfernt habe 'mod_wsgi' und' mod_wsgi-httpd' mit Pip. Jetzt stecke ich fest. Wenn ich 'pip install mod_wsgi 'installiere, bekomme ich den gleichen Fehler wie in meinem Post, wo ich' pip3 ... 'versuche.Das einzige, was mir einfällt, ist, das System pip zu benutzen, um die Installation zu machen, in der Hoffnung, dass mein System Apache findet ...? –
Sorry, total übersehen das Problem apxs. Das liegt daran, dass Sie das entsprechende "dev" -Paket für Apache nicht von Ubuntu-Paketdepots installiert haben. Dass dies erforderlich ist, wird auf der PyPi-Seite für mod_wsgi erwähnt. Ohne dieses Paket werden Sie die Apache-Header-Dateien und ihr Build-Tool namens "apxs" vermissen. –
Ich fand die Seite https://pypi.python.org/pypi/mod_wsgi - es ist frustrierend, weil es sagt * "Zum Beispiel, wenn Sie das Apache Prefork MPM verwenden würden, müssten Sie ... Wenn Stattdessen benutzt du den Apache Worker MPM, du müsstest ... "Aber ich habe noch nie von diesen Begriffen gehört. Sind diese verschiedenen Aromen von Apache? Irgendwie muss ich herausfinden, welchen Geschmack mein Apache hat und was die entsprechende Dev-Datei wäre ...? –