"ImportError: Aucun module nommé flask" – Problème avec nginx + uWSGI + Flask dans une configuration virtualenv
J'ai eu nginx + uWSGI en cours d'exécution sur localhost à l' intérieur d'un virtualenv avec un simple programme mondial d'hello, mais j'obtiens cette erreur lorsque je remplace le monde de Hello avec une simple application de flask:
File "./wsgi_configuration_module.py", line 1, in <module> from flask import Flask ImportError: No module named flask unable to load app mountpoint
Voici l'application du flask (wsgi_configuration_module.py):
- Pycurl install search un file inexistant (libcurl.a)
- Différentes versions de Python sous le même empereur uwsgi?
- Déploiement de l'application Flask avec nginx, uWSGI et virtualenv
- Solution de contournement pour l'installation de pip -E option
- PIP ne s'installe pas dans le directory virtualenv
from flask import Flask application = Flask(__name__) @application.route("/") def hello(): return "hello world" if __name__ == "__main__": application.run()
uWSGI config (app_conf.xml):
<uwsgi> <socket>127.0.0.1:9001</socket> <chdir>/srv/www/labs/application</chdir> <pythonpath>/srv/www</pythonpath> <module>wsgi_configuration_module</module> <callable>application</callable> <no-site>true</no-site> </uwsgi>
nginx config:
server { listn 80; server_name localhost; access_log /srv/www/labs/logs/access.log; error_log /srv/www/labs/logs/error.log; location / { include uwsgi_params; uwsgi_pass 127.0.0.1:9001; } location /static { root /srv/www/labs/public_html/static/; index index.html index.htm; } }
virtualenv stocké dans ~ / virtual_env avec Python 2.7 + nginx + uWSGI + Flacon installé dans un virtualenv appelé basic
.
Les choses que j'ai essayé de résoudre ceci:
- définissez l'
--home (-H)
sur mon dossier virtualenv~/virtual_env
lors de l'exécution de uWSGI.
Autre info:
- J'ai la même configuration fonctionnant en dehors d'une virtualenv. Les choses se passent mal lorsque j'essaie de reproduire la configuration dans un environnement virtuel.
Où est-ce que j'ai mal tourné?
- uWSGI et python virtual env
- "login en cours d'utilisation" exécutant Gunicorn en utilisant VirtualEnv
- virtualenv Impossible de mapper le segment à partir de l'object partagé: Autorisation refusée
- Systemd: exécuter un script Python au démarrage (virtualenv)
- Installation de Pootle avec uwsgi sur le server Ubuntu
- Commutation dynamic des paths de bibliothèque en python virtualenv
- Emplacement virtuel Debian
- Comment virtualenv doit-on être configuré dans un server Web de production (user, location, etc.)
2 Solutions collect form web for “"ImportError: Aucun module nommé flask" – Problème avec nginx + uWSGI + Flask dans une configuration virtualenv”
Ajoutez simplement un path d'access à votre env virtuel à <pythonpath>
dans le file app_conf.xml d'uwsgi. par exemple:
<pythonpath>/srv/www</pythonpath> <pythonpath>/home/user/env/lib/python2.6/site-packages</pythonpath> <module>wsgi_configuration_module</module>
l'option -H / – home / – virtualenv n'élargit pas le ~ symbole. Spécifiez le path absolu et cela devrait fonctionner.
La même chose s'applique aux configurations, donc vous pouvez append
path_to_virtualenv