uvicorn 报错:Error loading ASGI app. Could not import module 'app'.?-灵析社区

无敌英俊大师兄

上一个问题解决后出现的连锁问题: uvicorn 开启服务报错 `Error loading ASGI app. Could not import module "app".` 目录结构: my_app_name ├── py │ └── python.exe 等 ├── main.py ├── app.py └── run.bat run.bat @echo off REM 用 python.exe 调用 run.py 并传递所有输入参数 .\py\python.exe main.py %* main.py import sys import getopt import uvicorn import pathlib from multiprocessing import freeze_support if __name__ == "__main__": freeze_support() uvicorn.run('app:app', host="0.0.0.0", port=8000, reload=True, workers=1) app.py from fastapi import FastAPI app = FastAPI() @app.post("/xxx") # 以下略 运行run.bat 报错: `ERROR: Error loading ASGI app. Could not import module "app".` 我认为还是路径的问题,但我没有找到解决方案, 相似问题在 [https://stackoverflow.com/questions/60819376/fastapi-throws-an-error-error-loading-asgi-app-could-not-import-module-api](https://link.segmentfault.com/?enc=G%2FiMWai5UIU4rn5ITOqWCQ%3D%3D.WMHqRgxearEZb0TQEucB2TQnMP5oAAZw01WarJ4SMSH9fpntxVanzvvLzQpoK%2B920hpEi%2FplrNsIHVn%2BKjMAQa%2BK7md1m3eC6sU8PIwzuuWg0OXulCwKkwulxvyujFpPGRfY%2B4Sez0%2B8Dp3Q8YSaN%2B3BqXnHqbBsxmfpro0im6M%3D) 但和我这不太一样 请问这该怎么办? 谢谢

阅读量:37

点赞量:0

问AI
安装了uvicorn后,py目录下面的Scripts目录下面有一个uvicorn.exe ,命令可以改成:uvicorn.exe app:app --reload --host 0.0.0.0 --port 8000 ,这里直接执行uvicorn命令是没问题的。 如果要在 main.py 里面通过 uvicron.run() 启动 app,在 main.py 里面加上这两句 # 获取当前脚本所在的目录 current_dir = os.path.dirname(os.path.realpath(__file__)) # 将项目根目录添加到 Python 路径中 sys.path.append(current_dir)