Exécution du script Hello world à l'aide de flask:
C:\anaconda3\python.exe C:/anaconda3/Scripts/flask-script.py run Traceback (most recent call last): File "C:/anaconda3/Scripts/flask-script.py", line 9, in <module> sys.exit(main()) File "C:\anaconda3\lib\site-packages\flask\cli.py", line 966, in main cli.main(prog_name="python -m flask" if as_module else None) File "C:\anaconda3\lib\site-packages\flask\cli.py", line 586, in main return super(FlaskGroup, self).main(*args, **kwargs) File "C:\anaconda3\lib\site-packages\click\core.py", line 717, in main rv = self.invoke(ctx) File "C:\anaconda3\lib\site-packages\click\core.py", line 1135, in invoke sub_ctx = cmd.make_context(cmd_name, args, parent=ctx) File "C:\anaconda3\lib\site-packages\click\core.py", line 641, in make_context self.parse_args(ctx, args) File "C:\anaconda3\lib\site-packages\click\core.py", line 940, in parse_args value, args = param.handle_parse_result(ctx, opts, args) File "C:\anaconda3\lib\site-packages\click\core.py", line 1477, in handle_parse_result self.callback, ctx, self, value) File "C:\anaconda3\lib\site-packages\click\core.py", line 96, in invoke_param_callback return callback(ctx, param, value) File "C:\anaconda3\lib\site-packages\flask\cli.py", line 742, in _validate_key is_context = isinstance(cert, ssl.SSLContext) AttributeError: 'NoneType' object has no attribute 'SSLContext' Process finished with exit code 1
J'obtiens les erreurs suivantes:
# coding=utf-8 from flask import Flask app = Flask(__name__) @app.route("/") def hello(): return "Hello World!"
La configuration dans PyCharm doit être correcte:
Flask 1.1.1 déjà installé dans l'environnement anaconda3. J'utilise PyCharm 2018.3.7 sur Win10 Home.
Pourriez-vous s'il vous plaît m'aider à résoudre ce problème ou que dit l'erreur? Merci d'avance!
3 Réponses :
FLASK_APP
devrait avoir votre module flask.
flask quickstart serait utile.
vous devez indiquer à votre terminal l'application avec laquelle travailler en exportant la variable d'environnement FLASK_APP
BTW, pycharm fournit un moyen facile de créer une application flask. Ce lien vous aide également.
Voici mon exemple simple.
$ cat hello.py from flask import Flask app = Flask(__name__) @app.route("/") def hello(): return "hello world" $ env FLASK_APP=hello.py flask run * Serving Flask app "hello.py" * Environment: production WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead. * Debug mode: off * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit) 127.0.0.1 - - [12/Apr/2020 12:13:04] "GET / HTTP/1.1" 200 -
Dans l'invite de commande Win, j'ai défini la variable FLASK_APP via: "C: \ path \ to \ app> set FLASK_APP = hello.py". Je reçois toujours la même erreur. Ou comment puis-je exporter la variable d'environnement FLASK_APP? Merci.
Je donne l'exemple dans ma réponse et j'espère que cela aidera
Cela n'a pas aidé. semble être associé à un certificat SSL?
Vous devez l'exécuter à partir de l'invite anaconda dans le bon environnement.
(data-class) C:\Users\Faramarz>cd /d D:\...\surfs_up (data-class) D:\...\surfs_up>set FLASK_APP=app.py (data-class) D:\...\surfs_up>flask run * Serving Flask app "app.py" * Environment: production WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead. * Debug mode: off * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit) 127.0.0.1 - - [18/Oct/2020 17:27:47] "GET / HTTP/1.1" 200 - 127.0.0.1 - - [18/Oct/2020 17:27:47] "GET /favicon.ico HTTP/1.1" 404 -
J'ai eu ce problème et je n'ai pas pu faire fonctionner mon application Flask via VS Code. Il y a quelque chose qui ne va pas avec mon environnement, j'ai donc recherché sur mon ordinateur l'Anaconda Powershell, cd dans le bon dossier, puis tapé: set FLASK_APP = app.py et l'ai exécuté.
Quand il n'a pas renvoyé d'erreur, j'ai lancé flask run dans la ligne suivante et il m'a donné mon adresse locale. Une erreur que le PowerShell a rejetée était qu'il ne pouvait pas trouver mon fichier car il n'existait pas, j'ai donc changé le fichier en app.py et cela a fonctionné.