Cuando intento ejecutar esto localmente con docker run (localmente), aparece el siguiente error. Sin embargo, ya ejecuté "pip install" flask [async]" y todo parece estar instalado ... ¡pero el mismo error! Cualquiera idea de lo que está mal Gracias!
from flask import Flask from flask import request from flask import Response import json import commacount app = Flask(__name__) @app.routes('/') async def home(): x = str(request.args.get('x')) answer = str(commacount.commaCount(x)) await asyncio.sleep(2) r = { "x": x, "answer": answer } reply = json.dumps(r) response = Response(response = reply, status=200, mimetype="application/json") response.headers['Content-Type']='application/json' response.headers['Access-Control-Allow-Orgin']='*' return response if __name__ == '__main__': loop = asyncio.get_event_loop() loop.run_until_complete(app.run(host='0.0.0.0', port=5000)) [2021-12-12 04:42:36,711] ERROR in app: Exception on / [GET] Traceback (most recent call last): File "/usr/local/lib/python3.6/dist-packages/flask/app.py", line 2073, in wsgi_app response = self.full_dispatch_request() File "/usr/local/lib/python3.6/dist-packages/flask/app.py", line 1518, in full_dispatch_request rv = self.handle_user_exception(e) File "/usr/local/lib/python3.6/dist-packages/flask/app.py", line 1516, in full_dispatch_request rv = self.dispatch_request() File "/usr/local/lib/python3.6/dist-packages/flask/app.py", line 1502, in dispatch_request return self.ensure_sync(self.view_functions[rule.endpoint])(**req.view_args) File "/usr/local/lib/python3.6/dist-packages/flask/app.py", line 1599, in ensure_sync return self.async_to_sync(func) File "/usr/local/lib/python3.6/dist-packages/flask/app.py", line 1622, in async_to_sync ) from None RuntimeError: Install Flask with the 'async' extra in order to use async views. 172.17.0.1 - - [12/Dec/2021 04:42:36] "GET /?x=,.., HTTP/1.1" 500 -Lo primero que debe hacer es usar @app.route en lugar de @app.routes . También necesita instalar aioflask junto con el flask para superar este RuntimeError
Verifique a continuación un ejemplo simple:
from flask import Flask app = Flask(__name__) app.env = "development" @app.route('/') async def home(): return {"text": "Hello!"} if __name__ == '__main__': app.run(debug=True)