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

Python项目导入config.py遇ModuleNotFoundError问题求助

解决ModuleNotFoundError: No module named 'app'问题

核心原因

你在app目录内部直接运行项目,导致Python的模块搜索路径(sys.path)未包含app的上级目录,无法识别app顶级包;而相对导入from ..config import db仅在包内部被导入时有效,直接运行脚本会失效。

解决方案

方案1:从项目根目录运行(推荐)

假设你的项目结构为(app是根目录下的子文件夹):

your_project/
└── app/
    ├── config.py
    ├── main.py
    └── routers/
        └── users.py

切换到your_project目录(即app的上级目录),用以下命令启动项目:

python -m app.main

这种方式会将项目根目录加入Python模块搜索路径,此时在routers/users.py中使用绝对导入:

from app.config import db

即可正常导入。

方案2:手动添加模块搜索路径(临时解决)

若必须在app目录下运行,可在routers下的脚本(如users.py)开头添加以下代码,将app的上级目录加入搜索路径:

import sys
from pathlib import Path

# 获取app目录的上级目录路径并加入sys.path
sys.path.append(str(Path(__file__).parent.parent.parent))

之后使用from app.config import db即可导入成功。

注意事项

  • 不要直接运行routers下的单个脚本(如python routers/users.py),这会让脚本成为顶层模块,相对导入失效。
  • 确保所有文件夹(app、routers、models等)都存在__init__.py文件(你的目录结构已满足此要求)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.23 16:45:58