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

已添加__init__.py仍出现Python Module错误,求助解决方案

Python 模块导入错误排查方案(已添加__init__.py仍未解决)
  • 确认Python工作目录
    运行脚本时,Python的当前工作目录可能不是项目根目录,导致无法识别模块。在报错的脚本里加这段代码查看当前路径:

    import os
    print(os.getcwd())
    

    如果路径不对,要么切换到项目根目录再运行脚本,要么手动把根目录加入sys.path:

    import sys
    from pathlib import Path
    # 根据你的项目层级调整parent的数量,比如子目录下的脚本要加父目录就用.parent.parent
    sys.path.append(str(Path(__file__).parent.parent))
    
  • 检查__init__.py的有效性
    确保每个需要被识别为模块的子目录下都有__init__.py,空文件也可以,但文件里不能有语法错误。如果是多层级模块,比如根目录/子模块1/子模块2,那两个子目录都需要放__init__.py。

  • 修正导入语句

    • 绝对导入:从项目根目录开始写完整路径,比如from 子模块名.脚本名 import 函数/类,前提是根目录在sys.path里。
    • 相对导入:在子模块内部用相对路径,比如同一目录下用from .脚本名 import xxx,上一级目录用from ..父模块名 import xxx——注意相对导入只能在被作为模块导入的文件里用,不能在直接运行的脚本里使用。
  • 避免命名冲突
    检查你的脚本或模块名称有没有和Python内置模块、第三方库重名,比如别把脚本叫math.py或requests.py,不然会覆盖系统模块导致导入错误。

  • 用上父目录的main.py
    既然父目录有main.py,直接把它作为入口文件,在里面导入子模块并运行:

    # main.py
    from 子模块名 import 你的脚本
    你的脚本.核心函数()
    

    然后在父目录下执行python main.py,Python会自动把当前目录(项目根)加入sys.path,导入问题大概率能解决。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.04 08:25:27