[PYTHON] A propos de l'avertissement "Compilé pour ~" de mod_wsgi

L'installation de mod_wsgi avec libapache2-mod-wsgi``` a un piège. Vérifiez le fichier journal avec la commande suivante.

vim /var/log/apache2/error.log

Je suis sûr qu'un tel avertissement (je pense que ce sera légèrement différent selon l'environnement) est décrit.

[Mon Feb 13 14:10:22.233656 2017] [wsgi:warn] [pid 10526:tid 139972854908800] mod_wsgi: Compiled for Python/2.7.8.
[Mon Feb 13 14:10:22.233725 2017] [wsgi:warn] [pid 10526:tid 139972854908800] mod_wsgi: Runtime using Python/2.7.9.

Cela signifie littéralement que la version de python qui compile wsgi est différente de la version de python actuellement utilisée.

Donc, pour résoudre ce problème, réinstallez mod_wsgi à l'aide de pip. Cependant, veuillez Installer pyenv avant cela.

pip install mod_wsgi

Ensuite, un fichier comme celui-ci sera créé

/home/USERNAME/.pyenv/versions/3.5.2/lib/python3.5/site-packages/mod_wsgi/server/mod_wsgi-py35.cpython-35m-x86_64-linux-gnu.so

Modifiez le fichier de configuration pour qu'apache2 lise ce fichier.

sudo vim /etc/apache2/mods-available/wsgi.load

Décrivez le chemin du module. Spécifiez le module pyenv que vous venez d'installer. (N'oubliez pas de changer USERNAME)

LoadModule wsgi_module /home/USERNAME/.pyenv/versions/3.5.2/lib/python3.5/site-packages/mod_wsgi/server/mod_wsgi-py35.cpython-35m-x86_64-linux-gnu.so

Après avoir fait ce qui précède, redémarrez apache2.

sudo service apache2 restart

Maintenant, lorsque vous accédez à nouveau à `` (nom de domaine ou adresse IP) / test_wsgi '', Hello World sera dessiné et l'avertissement ne devrait pas se produire.

De plus, lors de l'utilisation d'ubuntu, un bogue dans ubuntu (commande-not-found échoue lorsque python3 installé par l'utilisateur est dans PATH) Provoque une ```Erreur d'importation: aucun module nommé'_sysconfigdata_m'` ``, donc Debian est recommandé.

Recommended Posts

A propos de l'avertissement "Compilé pour ~" de mod_wsgi
À propos de Python for loop
À propos de Python, pour ~ (plage)
À propos de pgbench pour MySQL
À propos du polymorphisme pour l'élimination des nids
Prise en charge de Fabric pour Python 3
À propos de "for _ in range ():" de python
Grattage Web pour les notifications d'avertissement météo.