当我试图在本地运行这个端口(本地)时,我会得到下面的错误。然而,我已经运行了"pip“flaskasync,并且似乎已经安装了所有的东西,但是我仍然得到了相同的错误!有谁知道出了什么问题吗?
import asyncio
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 -
发布于 2022-03-08 03:41:11
我用以下方法解决相同的错误:
pip install aioflask
所以再用:
run flask
希望这对其他人有帮助
发布于 2022-06-28 13:21:05
在我的例子中,这个问题是通过安装包"asgiref“来解决的。
pip install asgiref
在安装烧瓶时,将不会安装异步视图的需求"asgiref“。默认情况下,它被考虑使用同步视图。所以你需要自己安装。您可以在Verison2.0.2中找到[PYTHON_PATH]/Lib/site-packageflask/app.py
Line1618中的错误。此错误只会引发导入asgiref错误。
发布于 2022-01-28 10:09:51
首先,您需要使用@app.route
而不是@app.routes
。您还需要安装aioflask
和flask
,以克服这个RuntimeError
请查看下面的简单示例-
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)
https://stackoverflow.com/questions/70321014
复制相似问题