原文:滑动验证页面
我尝试使用 uvicorn 网络服务器运行 FastAPI,但它抛出错误。
我运行这个命令,
uvicorn api:app --reload --host 0.0.0.0
但是终端有错误。
Uvicorn running on http://0.0.0.0:8000 (Press CTRL+C to quit) Started reloader process [23445] Error loading ASGI app. Could not import module "api". Stopping reloader process [23445]
在文件名前添加目录名
uvicorn src.main:app
或 cd 进入该目录
cd src uvicorn main:app
长答案
发生这种情况是因为您与 FastAPI 应用程序实例不在同一个文件夹中,更具体地说:
假设我有一个这样的应用程序树;
my_fastapi_app/
├── app.yaml
├── docker-compose.yml
├── src
│ └── main.py
└── tests
├── test_xx.py
└── test_yy.py
$ pwd # Present Working Directory
/home/yagiz/Desktop/my_fastapi_app
我和我的应用程序实例不在同一个文件夹中,所以如果我尝试用 uvicorn 运行我的应用程序,我会得到一个像你的错误
$ uvicorn m

文章讲述了用户在使用Uvicorn部署FastAPI时遇到模块导入错误的问题,原因在于应用程序实例与uvicorn命令不处于同一文件夹。解决方法是确保在文件名前加上正确的文件夹名或更改工作目录到应用所在文件夹。
&spm=1001.2101.3001.5002&articleId=134715433&d=1&t=3&u=347ec504d4a24008af312dd79129ae4c)
1675

被折叠的 条评论
为什么被折叠?



