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

Python导入自定义config模块提示ModuleNotFoundError问题求助

问题原因排查及解决方案

该ModuleNotFoundError由两个常见原因导致,可按以下步骤修复:

1. 修正包标识文件命名

Python识别文件夹为可导入包的前提是,文件夹下存在名为__init__.py的文件(注意前后各两个下划线),你当前config文件夹下的标识文件命名为__init.py,缺少末尾的两个下划线,直接重命名该文件为__init__.py即可,无内容也不影响包识别。

2. 修复Python模块搜索路径

你的test_db_conn.py放在db_functions子文件夹下,直接运行该脚本时,Python默认只会将脚本所在的db_functions目录加入搜索路径,找不到上层的config包,有两种常用修复方案:

  • 方案A:从项目根目录运行脚本
    不要进入db_functions文件夹运行脚本,在config和db_functions文件夹所在的项目根目录,执行运行命令即可:
    python -m db_functions.test_db_conn
    
    使用-m参数以模块模式运行时,Python会自动将当前工作目录加入搜索路径,可正常识别config包。
  • 方案B:脚本内主动添加上层目录到搜索路径
    在test_db_conn.py的导入代码前新增路径添加逻辑:
    # 导入模块前先执行路径添加
    import sys
    import os
    sys.path.append(os.path.dirname(os.path.dirname(os.path.abspath(__file__))))
    
    # 原有导入代码保持不变
    from config import config_reader
    import pymongo
    
    # Query database and print result
    db_client = pymongo.MongoClient(db_url)
    db_status = db_client.test
    print(db_status)
    
    这段代码会自动将项目根目录加入Python的模块搜索路径,后续导入config包不会报错。

可选长期优化

如果后续会频繁用到跨目录导入,可以在项目根目录下新增setup.py文件,通过安装开发版本的方式把项目路径永久加入Python搜索路径:

from setuptools import setup, find_packages

setup(
    name="your_project_name",
    version="0.1",
    packages=find_packages(),
)

然后在项目根目录执行pip install -e .即可生效。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.09 02:18:03