You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Azure部署FastAPI遇ModuleNotFoundError:找不到database模块

FastAPI部署Azure Web App遇ModuleNotFoundError问题

本地运行uvicorn main:app --reload完全正常,database.py和main.py明明在同一目录,但部署到Azure Web App后,日志却报错ModuleNotFoundError: No module named 'database',启动命令用的是gunicorn -w 4 -k uvicorn.workers.UvicornWorker main:app。已经翻遍Stack Overflow和YouTube的相关内容,还是没解决。

可行的排查/解决方法

  • 给根目录加__init__.py:在main.py和database.py所在的根目录创建一个空的__init__.py文件,让Python把这个目录识别成合法的包结构,Azure的Python环境对包的识别可能比本地严格。
  • 调整启动命令的工作目录:Azure Web App的默认工作目录可能不是代码根目录,把启动命令改成cd /home/site/wwwroot && gunicorn -w 4 -k uvicorn.workers.UvicornWorker main:app,先切到代码所在目录再启动服务。
  • 改用相对导入:把main.py里的import database改成from . import database,用相对导入方式确保模块能被正确找到。
  • 核对Python版本:确认Azure使用的Python版本和本地开发环境一致,版本差异可能导致模块导入的行为不同,可在Azure门户的应用配置里指定Python版本。
  • 检查部署后的文件:通过Azure门户的Kudu工具(高级工具里的SSH或文件管理器),确认database.py确实被部署到了/home/site/wwwroot目录下,避免部署过程中文件遗漏。

内容的提问来源于stack exchange,提问作者DeNaamIsDaaf

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.23 17:15:54