Qualcuno potrebbe darmi un chiaro set di istruzioni per l'installazione di mod_wsgi su Ubuntu per Python 3?Installare mod_wsgi per Python3 su Ubuntu
Ho ottenuto la boccetta & mod_wsgi utilizzando con successo Python3 e per un breve momento mi sono sentito felice.
... fino a quando ho guardato log di Apache e sono reso conto che ho eseguito in questo problema: https://askubuntu.com/questions/569550/assertionerror-using-apache2-and-libapache2-mod-wsgi-py3-on-ubuntu-14-04-python
apt-get
è l'installazione di una versione non aggiornata di libapache2-mod-wsgi-py3
e questo sta causando gli errori nel registro di Apache. (Devo segnalare questo e se sì dove?)
Nel link, l'ingegnere sta usando pip
di installare una versione più up-to-date.
È interessante notare che sembra installarlo in un ambiente Python3 virtuale. (Sarebbe questo essere diverso rispetto all'utilizzo del sistema pip3
?)
Anche lui usa pip3 install mod_wsgi
, ma pip3 search mod_wsgi
rendimenti:
(EDIT: no non lo fa, egli usa pip non PIP3 può che essere di destra. ? ha ha ottenuto i suoi fili incrociati? non è pip intenzione di ignorare il fatto che egli è nel suo py3venv e semplicemente utilizzare l'installazione PY2 del sistema? Ma comunque che non si risolve la confusione ...)
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.
Quindi cos'è mod_wsgi-httpd
? Ed è certo che questo non è quello che voglio?
Infine, qualcuno può fornire un collegamento all'installazione di mod_wsgi dall'origine?
MODIFICA: Non capisco perché l'ingegnere stia utilizzando pip install mod_wsgi
anziché pip3 ...
. Sicuramente non può essere giusto? Ma se io faccio uso PIP3, ottengo:
[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
E ora provo pip3 install mod_wsgi-httpd
, ci vogliono circa cinque minuti per compilare:
(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
:
Così ora mi sono preoccupato ho un secondo Apache che si siede nel mio virtualenv Py3.
Tuttavia questo elimina l'errore; pip3 install mod_wsgi
ora viene completato correttamente.
EDIT: ma ora mi sono completamente scollato cercando di seguire le sue istruzioni: non ho uno /etc/apache2/mods-available/wsgi_express.load
, e se lui sta suggerendo di farlo, allora per cominciare questo sembra arbitrario, e in secondo luogo il testo che suggerisce di mettere in esso, cioè LoadModule wsgi_module /usr/lib/apache2/modules/mod_wsgi-py34.cpython-34m.so
- questo file non esiste sul mio sistema.
devo /etc/apache2/mods-available/wsgi.load
Drowning in tecnologia ancora una volta, qualcuno mi può una linea di tiro?
ho rimosso '' mod_wsgi' e pip mod_wsgi-httpd' utilizzando. Ora sono bloccato. Se eseguo 'pip install mod_wsgi' ottengo lo stesso errore del mio post, dove sto provando' pip3 ... '.l'unica cosa che posso pensare è usare il sistema pip per fare l'installazione, nella speranza che trovi il sistema Apache ...? –
Siamo spiacenti, ho completamente trascurato il problema di apxs. Questo perché non è stato installato il pacchetto "dev" appropriato per Apache dai repository di pacchetti di Ubuntu. Che ciò sia richiesto è menzionato sulla pagina PyPi per mod_wsgi. Senza quel pacchetto mancheranno i file header di Apache e il suo tool di compilazione chiamato 'apxs'. –
Ho trovato la pagina https://pypi.python.org/pypi/mod_wsgi - è frustrante perché dice * "Ad esempio, ..., se stavi usando l'MPM prefork di Apache avresti bisogno ... Se invece tu stavi usando l'MPM dell'operaio di Apache, avresti bisogno ... "* Ma non ho mai sentito parlare di questi termini. Sono questi diversi sapori di Apache? Quindi in qualche modo devo capire che sapore ha il mio Apache e quale sarà il file dev corrispondente ...? –