web-dev-qa-db-fra.com

Comment installer et configurer mod_wsgi pour py3

J'ai installé et configuré mod_wsgi pour python2.7 mais maintenant j'aimerais aussi avoir mod_wsgi pour py3

Je suis dans Ubuntu 12.04 Mon fichier de configuration Apache ressemble à ceci pour py2.7:

<Directory /var/www/vhosts/my_web>
    WSGIProcessGroup my_web
    WSGIApplicationGroup %{GLOBAL}
    Order deny,allow
    Allow from all
</Directory>

Maintenant, je voudrais installer mod_wsgi pour python3.

Je pense que je dois faire apt-get install libapache2-mod-wsgi-py3

Mais je ne trouve aucune instruction sur la façon de configurer mod_wsgi pour py3. a) Puis-je conserver mod_wsgi pour py2.7 ou dois-je le supprimer pour qu'Apache fonctionne avec mod_wsgi_py3? b) Que dois-je inclure dans ma conf Apache?

22
Lazik

Sudo apt-get install libapache2-mod-wsgi-py3

Cela remplacera libapache2-mod-wsgi et redémarrera le service Apache.

Des instructions plus spécifiques (Django) sont disponibles ici: https://docs.djangoproject.com/en/1.8/howto/deployment/wsgi/modwsgi/

58
davesave

Il est incorrect de dire que vous n'avez pas besoin de l'installer à nouveau. Graham Dumpleton (l'auteur du module mod_wsgi) a abordé la question ici .

Réponse courte - vous devrez installer le mod_wsgi compilé pour votre Python mis à jour. J'ai eu le même problème - pour autant que je me souvienne, vous devez obtenir le bon pip pour votre version Python et exécuter quelque chose dans le sens de ceci:

Sudo pip3.x install --target=/path/to/python3.x/site-packages mod_wsgi
5
Arthur M

Si vous utilisez virtualenvs (ce que vous devriez) vous en construirez simplement un pour la version de python pour laquelle vous voulez construire mod_wsgi).

$ mkvirtualenv --python=/usr/bin/python3 myvenv

Alors

(myvenv) $ pip install mod_wsgi 

va construire une version Python3 pour vous.

2
boatcoder