A-A+
Uvicorn 无法启动 FastAPI APP 提示 WARNING

【注意:此文章为博主原创文章!转载需注意,请带原文链接,至少也要是txt格式!】
今天在启动fastapi的时候,发现系统报错,然后各种找原因,发现问题出现在热加载的那个地方。
我的代码如下:
import uvicorn
from fastapi import FastAPI
app = FastAPI(title='MADS API')
uvicorn.run(app, host='0.0.0.0', port=8127, reload=True, workers=2)
##结果系统报错如下:
##WARNING: You must pass the application as an import string to enable 'reload' or 'workers'.
出现这个问题后,各种找资料,最终定位是app这里有问题。
这里第一种更改的方法是把uvicorn.run
里面的第一个参数app更改一下,变成“文件名:app”,注意文件名就是你这个文件的名字,假定是api.py为文件名,那么这个名字就是api:app
那更改后就是:
import uvicorn
from fastapi import FastAPI
app = FastAPI(title='MADS API')
uvicorn.run('api:app', host='0.0.0.0', port=8127, reload=True, workers=2)
除了这种方法还有一个方法,我这里暂时没有试验方法二,把代码改成如下,加入main即可:
import uvicorn
from fastapi import FastAPI
app = FastAPI()
@app.get("/")
def get_root():
return {"message": "Hello World"}
if __name__ == "__main__":
uvicorn.run("__main__:app", host="0.0.0.0", port=8000, reload=True, workers=2)
布施恩德可便相知重
微信扫一扫打赏
支付宝扫一扫打赏