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

Python包导入报错:ModuleNotFoundError: No module named 'pack_2'

Python包导入错误排查:ModuleNotFoundError: No module named 'pack_2'

错误原因

运行main.py时,Python的模块搜索路径(sys.path)默认包含当前执行目录(即import_test/)。在pack_1/__init__.py中直接写import pack_2,Python会在顶层路径下查找pack_2,但pack_2是pack_1的子包,不在顶层搜索路径中,因此抛出找不到模块的错误。

解决方法

有两种规范的导入方式可以解决该问题:

方法1:绝对导入

使用完整的包路径明确指定pack_2是pack_1的子包,修改pack_1/__init__.py代码如下:

print('pack_1 imported')

import pack_1.pack_2

print('pack_2 also imported')

方法2:相对导入

在包内部使用相对路径导入子包,用.表示当前所在的包,修改pack_1/__init__.py代码如下:

print('pack_1 imported')

from . import pack_2

print('pack_2 also imported')

额外说明

  • pack_2/__init__.py中的import p2class可以正常工作,但更规范的写法是使用相对导入:from . import p2class
  • p2class.py中的import pack_1是有效的,因为pack_1是顶层包,处于Python的搜索路径范围内

内容的提问来源于stack exchange,提问作者Midhun C N

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.01 21:22:12