Je construis une application Web Python en utilisant flask et en suivant le didacticiel de http: / /flask.pocoo.org/docs/1.0/tutorial/factory/ . J'exécute le flacon à partir du répertoire parent mais j'obtiens l'erreur suivante.
(venv) E:\python-code\python-web>flask run * Serving Flask app "flaskr" (lazy loading) * Environment: development * Debug mode: on * Restarting with stat * Debugger is active! * Debugger PIN: 294-690-396 * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit) 127.0.0.1 - - [16/Mar/2019 13:10:43] "GET /hello HTTP/1.1" 500 - Traceback (most recent call last): File "e:\python-code\python-web\venv\lib\site-packages\flask\_compat.py", line 35, in reraise raise value File "e:\python-code\python-web\venv\lib\site-packages\flask\cli.py", line 95, in find_best_app module=module.__name__ flask.cli.NoAppException: Failed to find Flask application or factory in module "flaskr". Use "FLASK_APP=flaskr:name to specify one. 127.0.0.1 - - [16/Mar/2019 13:10:43] "GET /hello?__debugger__=yes&cmd=resource&f=style.css HTTP/1.1" 200 - 127.0.0.1 - - [16/Mar/2019 13:10:43] "GET /hello?__debugger__=yes&cmd=resource&f=jquery.js HTTP/1.1" 200 - 127.0.0.1 - - [16/Mar/2019 13:10:43] "GET /hello?__debugger__=yes&cmd=resource&f=debugger.js HTTP/1.1" 200 - 127.0.0.1 - - [16/Mar/2019 13:10:43] "GET /hello?__debugger__=yes&cmd=resource&f=ubuntu.ttf HTTP/1.1" 200 - 127.0.0.1 - - [16/Mar/2019 13:10:44] "GET /hello?__debugger__=yes&cmd=resource&f=console.png HTTP/1.1" 200 - 127.0.0.1 - - [16/Mar/2019 13:10:44] "GET /hello?__debugger__=yes&cmd=resource&f=console.png HTTP/1.1" 200 -
Veuillez aider.
J'ai essayé Running Flask l'application de cli ne donne "aucun module nommé flaskr" et flask.cli.NoAppException: Impossible de trouver l'application dans le module?
4 Réponses :
Selon le système d'exploitation que vous utilisez, vous devez exporter flaskr dans votre environnement
Pour Linux et Mac:
$env:FLASK_APP = "flaskr" $env:FLASK_ENV = "development" flask run```
Pour Windows cmd, utilisez set au lieu d'export :
set FLASK_APP=flaskr set FLASK_ENV=development flask run
Pour Windows PowerShell, utilisez $ env: au lieu d'exporter:
export FLASK_APP=flaskr export FLASK_ENV=development flask run
J'ai fait exactement comme mentionné dans le tutoriel
J'ai trouvé mon problème. Il me manquait return app
comme dernière instruction dans mon code. Désolé pour la confusion et les excuses.
Vous l'avez oublié dans la fonction __init__.py
de la fonction create_app
, non? Pour d'autres dans le même cas, il peut être intéressant de savoir où vous l'avez oublié.
J'ai eu cette erreur, l'application de retour était manquante à la fin de create_app
dans le fichier init de l'application
Le répertoire de votre application n'est-il pas nommé correctement? par exemple, si vous avez écrit FLASK_APP = flaskr
mais que le nom de votre projet est autre chose, vous obtiendrez cette erreur. De plus, que contient votre fichier flaskr / flaskr / __ init__.py
si le projet est nommé flaskr
comme dans le tutoriel?
J'ai suivi les instructions comme le dit le tutoriel officiel, mais j'ai toujours la même erreur.
Mon problème était avec l'IDE que j'utilisais (Pycharm)
Même si j'avais un fichier init .py dans le répertoire flaskr, il n'était toujours pas considéré comme un package.
J'ai donc supprimé le répertoire flaskr et créé un "nouveau paquet". Ensuite, copiez simplement le code dans le init .py et cela résoudra le problème
Définissez
set FLASK_APP = flaskr
etset FLASK_ENV = development
dans la cmd Windows, puis exécutezflask run
. Ceci est nécessaire pour indiquer à Flask où trouver votre application et pour l'exécuter en mode Développement.Oui, j'ai également suivi ces étapes.