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

解决Jupyter导入AutoComet本地.ipynb库的ModuleNotFoundError问题

解决AutoComet Jupyter Notebook导入本地.ipynb模块的问题

核心问题原因

Python默认仅支持导入.py格式的模块,直接导入.ipynb文件会触发模块找不到的错误;而相对导入失败是因为Jupyter Notebook的运行环境未将当前目录识别为Python包(缺少__init__.py文件),导致相对路径无法解析。

可行解决方案


方案1:将.ipynb转为.py文件

这是最直接的方法,适配所有Python环境:

  • 打开AutoComet_Functions.ipynb,在Jupyter菜单栏选择「File」→「Download as」→「Python (.py)」
  • 将生成的AutoComet_Functions.py放到与AutoComet-Main.ipynb相同的目录(或父目录,确保该目录在Python搜索路径内)
  • 回到主Notebook,直接使用原导入语句:
    import AutoComet_Functions as ac
    

方案2:使用ipynb库直接导入.ipynb文件

无需转换文件,适合需要保留Notebook格式的场景:

  1. 先安装依赖库:
    pip install ipynb
    
  2. 修改主Notebook的导入语句:
    • 如果两个Notebook在同一目录:
      from ipynb.fs.full.AutoComet_Functions import *
      import AutoComet_Functions as ac
      
    • 如果AutoComet_Functions.ipynb在父目录:
      from ipynb.fs.parent.AutoComet_Functions import *
      import AutoComet_Functions as ac
      

方案3:手动添加模块路径到Python搜索列表

通过代码将目标文件所在目录加入Python的模块搜索路径,无需修改文件格式:

import sys
from pathlib import Path

# 将父目录添加到搜索路径(如果目标文件在父目录)
sys.path.append(str(Path().parent))

# 现在可以正常导入
import AutoComet_Functions as ac

注:Path().parent会获取当前Notebook所在目录的父目录,若目标文件在其他位置,可调整为对应路径,比如Path().resolve().parent.parent表示上上级目录


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.23 19:18:13