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

在Azure App Services中导入同目录Python文件遇ModuleNotFoundError求助

解决Azure App Services中FastAPI导入同目录Python文件的问题

可能的原因及解决方法

1. 确认目录结构与文件部署状态

确保settings.py和main.py处于同一根目录(即部署后的site/wwwroot目录下),可通过Azure门户的「高级工具」(Kudu)进入文件管理器,检查两个文件是否都存在于正确路径。

2. 调整Python路径(最常见解决方法)

Azure App Service的Python运行环境可能未将当前脚本所在目录加入sys.path,可在main.py开头添加以下代码,强制将当前目录加入路径:

import sys
from pathlib import Path

sys.path.append(str(Path(__file__).parent))

之后再执行import settings即可正常导入。

3. 检查启动命令配置

确保Azure App Service的启动命令是从根目录启动uvicorn,正确的启动命令示例:

uvicorn main:app --host 0.0.0.0 --port 8000

若启动命令指定了错误的子目录路径,会导致Python无法找到同目录的文件。

4. 避免相对导入的坑

如果尝试使用相对导入(比如from . import settings),需确保将应用作为包结构部署(即根目录下添加__init__.py空文件),但对于简单的单文件+配置文件的场景,直接调整sys.path的方式更简单。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.20 10:57:35