Prise en Flacon à utiliser Python3 (Apache/mod_wsgi)

J'ai une base "hello world" Flacon application en cours d'exécution.

Je suis sur Ubuntu 14.04, à l'aide d'Apache 2.4. J'ai installé mod_wsgi.

J'ai créé un ~/web/piFlask/venv/ de tenir un virtualenv-créé Python2 avec flacon installé.

Cependant, je tiens à avoir mon flaskapp importer un Python3.x module que j'ai écrit.

Que dois-je faire pour que cela se produise?

J'ai essayé de créer un ~/web/piFlask/venv3/ et la modification de ~/web/piFlask/piFlask.wsgi:

import os, sys

PROJECT_DIR = '/home/pi/web/piFlask'

activate_this = os.path.join(PROJECT_DIR, 'venv3/bin', 'activate_this.py')
execfile(activate_this, dict(__file__=activate_this))
sys.path.insert(0, PROJECT_DIR)

from piFlask import app as application

application.debug = True

Mais je ne pense pas que ce soit suffisant. C' .wsgi est en fait un fichier Python qui sera exécuté par mod_wsgi, qui je suis sûr va utiliser un Py2.x interprète pour faire l'exécution.

Donc, si je comprends correctement, mod_wsgi excite le système de Python pour exécuter cette .wsgi, qui sera à son tour le feu jusqu'à mon ~/web/piFlask/venv/ interprète à réellement traiter la demande.

Je pense que je pourrais convaincre mod_wsgi pour utiliser un système de Python3 ou mon propre venv3/... par la mise en WSGIPythonPath /home/pi/web/piFlask/venv3/lib/python3.4/site-packages dans /etc/apache2/mods-available/wsgi.conf

Mais j'ai trouvé une instruction quelque part disant que vous avez à compiler mod_wsgi pour Py3, et le fond tombe rapidement à ce problème.

OriginalL'auteur P i | 2015-06-04