在Colab中导入GitHub仓库模块时,如何解决子模块导入失败问题?
解决Colab中导入ProjectDrawdown/solutions仓库的ModuleNotFoundError问题
问题原因
factory.py使用绝对导入from model import ...,但model文件夹位于克隆后的/content/solutions目录下,而你的Python路径未包含该目录,导致解释器找不到model模块。
解决办法
以下是几种快速可行的方案:
方案1:直接将仓库根目录加入Python路径
修改导入代码为:
import sys # 将solutions仓库的根目录添加到Python搜索路径 sys.path.insert(0, '/content/solutions') # 现在可以正常导入目标模块 from solution.factory import factory import pandas as pd import numpy as np
方案2:通过路径动态获取仓库根目录(更灵活)
如果不确定仓库的绝对路径,可通过Path模块动态获取:
import sys from pathlib import Path # 定位solutions仓库的根目录 solutions_root = Path('/content/solutions') sys.path.insert(0, str(solutions_root)) # 执行导入 from solution.factory import factory import pandas as pd import numpy as np
方案3:切换工作目录到仓库根目录
通过Colab的魔法命令切换工作目录,再设置路径:
# 切换到solutions仓库根目录 %cd /content/solutions import sys sys.path.insert(0, '.') # 执行导入 from solution.factory import factory import pandas as pd import numpy as np
验证方法
可以先执行以下命令确认仓库目录结构,确保model和solution文件夹存在:
!ls /content/solutions
内容的提问来源于stack exchange,提问作者Lostsoul
相关产品推荐
相关产品推荐

