当我尝试使用docker run(localize)在本地运行时,我得到了下面的错误。但是,我已经运行了“pip install”flask[async]”,一切似乎都安装好了,但我仍然得到同样的错误!有谁知道是怎么回事吗?
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))
个字符
8条答案
按热度按时间oxiaedzo1#
在我的例子中,这个问题是通过安装包“asgiref”修复的。
字符串
安装flask时,不会安装异步视图的要求“asgiref”。默认情况下,它被认为使用同步视图。所以你需要自己安装。您可以在2.0.2版的
[PYTHON_PATH]/Lib/site-packageflask/app.py
Line1618中找到错误。此错误只会引发import asgiref错误。slmsl1lt2#
我解决了相同错误:
字符串
所以再次运行 flask :
型
希望这对其他人有帮助
6rvt4ljy3#
根据文档使用async extra
pip install flask[async]
安装flaskhec6srdp4#
首先,您需要使用
@app.route
而不是@app.routes
。您还需要安装aioflask
沿着flask
来克服这个RuntimeError
问题检查下面的简单示例-
字符串
iaqfqrcu5#
字符串
而不是
型
写入
from aioflask import Flask, request, Response
pieyvz9o6#
安装时不要忘记报价
Pip install“Flask[async]”
ulydmbyx7#
我也有同样的问题。我尝试卸载Flask并使用async extra重新安装Flask。它工作正常。
字符串
nzk0hqpo8#
如果Flask安装了
async
extra(pip install flask[async])
,那么路由、错误处理程序、before request、after request和teardown函数都可以是协程函数。这允许使用async
def定义视图并使用await
。有关详细信息,请参阅Official Docs