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

Python Notebook出现ModuleNotFoundError:无法导入指定模块求助

模块导入失败问题

文件夹结构

\__app
   \____init__.py
   \__models
      \____init__.py
      \__claims
         \____init__.py
         \__common.py
\__notebooks
   \__main.ipynb

尝试的导入代码

from app.models.claims.common import Box, Vda

报错信息

ModuleNotFoundError                       Traceback (most recent call last)
Cell In[1], line 3
      1 from datetime import UTC, datetime
----> 3 from app.models.claims.common import Box, Vda

核心问题

为什么无法成功导入目标模块?


原因及解决办法
  • 根本原因:Python的模块搜索路径默认包含当前工作目录,你运行main.ipynb时,工作目录是notebooks/,而app目录在它的上级目录,Python找不到这个路径下的模块。

  • 解决办法1:手动添加根目录到搜索路径
    在导入代码前,先把app所在的上级目录加入Python的搜索路径:

    import sys
    from pathlib import Path
    
    # 获取notebooks目录的上级目录(即app所在的根目录)
    root_dir = Path.cwd().parent
    sys.path.append(str(root_dir))
    
    # 之后就能正常导入
    from app.models.claims.common import Box, Vda
    
  • 解决办法2:切换工作目录到根目录
    在Notebook里先切换到app所在的根目录,再执行导入:

    import os
    os.chdir('../')  # 从notebooks目录切换到上级根目录
    
    from app.models.claims.common import Box, Vda
    
  • 注意:相对导入(比如from ..app.models...)只适用于包内部的模块调用,Notebook作为独立脚本运行时不适用,优先用前两种方法。

内容的提问来源于stack exchange,提问作者asant-leitha

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.23 02:27:35