J'utilise export FLASK_APP=flask_app
puis flask run
mais j'obtiens l'erreur suivante:
Erreur: le fichier/chemin fourni (flask_app) ne semble pas exister. Veuillez vérifier que le chemin est correct. Si l'application n'est pas sur PYTHONPATH, assurez-vous que l'extension est .py
Cependant, le fichier existe existe et est même dans le répertoire de travail actuel. L'utilisation du chemin complet du fichier ne fonctionne pas non plus.
Cette situation se produit lorsque vous avez une ImportError
qui ne se propage pas vers votre terminal. Vérifiez tous de vos fichiers pour des instructions d'importation non valides, corrigez-les et l'erreur devrait disparaître.
EDIT 2017-04-02: @ Michael a fait remarquer que ma référence placée maintenant sous le libellé "VIEILLE MESSAGE PARTIE 2" est incorrecte. Je ne sais pas comment cette erreur est arrivée, mais j'ai trouvé un article très récent sur le Flask Github où ils font référence le commit qui aurait dû résoudre le problème le 30 décembre 2016. Probablement à cette époque, j’exécutais effectivement une version plus ancienne du flacon.
OLD MESSAGE PART 2: Ce problème est abordé sur le Flask Github , bien que je ne sache pas quand ni même si le problème a été corrigé, car je rencontre encore l’erreur aujourd'hui même si j’ai téléchargé Flask après la fusion du correctif décrit sur cette page (12 août 2016).
Le message d'erreur provient de la version 0.x du flacon lors de l'exécution avec des variables d'environnement, il suffit de mettre à niveau votre flacon vers la version 1.x.
pip install -U flask
Je vois cette erreur lorsque je manque une instruction import
quelque part dans mon code. À mon avis, le fait que l'erreur d'importation ne soit pas affichée est un bogue, comme décrit dans le réponse de @ PDiracDelta. (Update: Il semble que ce sera corrigé dans le flacon 0.13.)
Une solution de contournement qui fonctionne pour moi consiste à spécifier l'application sur la ligne de commande. D'après le message d'erreur que vous avez cité, il semble que votre application s'appelle 'flask_app', il vous suffit donc de taper ceci:
python flask_app.py
Cela n'exécutera pas réellement l'application (sauf si elle vérifie if __== '__main__'
ou quelque chose), mais affichera les erreurs d'importation.
Ce message apparaîtra si vous publiez flask run
sur la ligne de commande. Utilisez plutôt python -m flask run
après avoir défini les variables export FLASK_APP
et export FLASK_ENV
. J'ai rencontré ce problème en suivant le didacticiel Flask lors de la création de Application Factory. L'instruction ne spécifie pas de préfixer flask run
avec python -m
.
S'il vous plaît suivez ces étapes:
Assurez-vous que vous avez déjà terminé avec [pip install --editable. ]. où '.' représente l'emplacement du répertoire où votre application est installée. par exemple (flask_app)
Exécutez pythonIl ouvrira un interpréteur python en ligne de commande
Essayez d'importer l'application du flacon Si c'est son erreur, vous obtiendrez l'erreur détaillée . Essayez de réparer cette erreur.
J'ai rencontré le même problème et suivi les étapes ci-dessus et constaté qu'il y a une erreur dans le code en cours d'exécution. L'interprète montre une erreur de compilation.
La version werkzeug ne convient pas au ballon. Pour résoudre ce problème, vous devez mettre à niveau le werkzeug, utilisez:
$pip install werkzeug --upgrade
Même problème ici, à l’étape 5 du didacticiel du flacon: http://flask.pocoo.org/docs/0.12/tutorial/dbinit/ .
Ce que j'ai fait c'est
1) dans l’environnement virtuel, désinstallez le paquet en pip uninstall flaskr
2) désactiver l'environnement virtuel, puis le réactiver par deactivate
puis source bin/activate
3) réinstallez le paquet flaskr par pip install --editable .
4) réinitialiser les variables env par export FLASK_APP=flaskr
5) maintenant, faites flask run
et appuyez sur localhost: 5000 dans le navigateur génèrent l'erreur 404 (pas de vue, comme prévu) au lieu de l'erreur 500 (fichier non trouvé).
ou flask initdb
qui déclenche la fonction init_db()
comme prévu
Semblable à y2knoproblem, je suivais le tutoriel officiel de la fiole, donc en utilisant une fabrique d’applications et un environnement virtuel venv. J'ai pu utiliser
python -m flask run
mais cela a causé des problèmes avec mon IDE servant à localhost plutôt qu’à une adresse accessible de l’extérieur comme c’était le cas lorsque j’exécutais 'flask run' sur un application.py.
J'ai pu faire ce travail en spécifiant
export FLASK_APP=__init__.py
au lieu de
export FLASK_APP=myapp
Cela pourrait être plusieurs raisons.
python2
vs python3
issue,
pip2 install Flask
vs pip3 install Flask
issue,
et (venv) virtual environment
vs local environment
issue.
Dans mon cas, je devais faire ce qui suit pour résoudre le problème:
python3 -m venv venv
. venv/bin/activate
pip3 install Flask
export FLASK_APP=flask_app
flask run