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

Python 3创建包遇ModuleNotFoundError问题求助

解决Python包导入的ModuleNotFoundError问题

嘿,我来帮你搞定这个导入报错的问题!问题其实出在你pack1/__init__.py里的导入语句逻辑上——当你在包内部写import Class1或者from Class1时,Python会触发绝对导入,它会去全局的模块搜索路径里找Class1,而不是在当前的pack1包目录下找,这就是为啥会报“找不到模块”的错。

下面给你两种简单可行的解决办法:

方法1:用相对导入(包内部引用首选)

把pack1/__init__.py的内容改成这样:

from . import Class1
# 如果需要直接导出Class1里的类/对象,再加这句(可选)
from .Class1 import Class1

这里的.代表当前的pack1包目录,相当于告诉Python:“去我所在的这个包里找Class1模块”。

方法2:用绝对导入(明确指定包名)

如果你更习惯绝对路径的写法,也可以把__init__.py改成:

import pack1.Class1
from pack1.Class1 import Class1

这种写法需要保证pack1所在的目录在Python的模块搜索路径里——你的情况里main.py和pack1是同级的,运行main.py时Python会自动识别pack1作为合法包,所以完全没问题。

验证修改效果

改完__init__.py之后,你main.py里的from pack1 import Class1就能正常工作了,实例化var1 = Class1()也不会再报错啦。

最后补个小建议:如果你的Class1.py里定义的就是名为Class1的类,那直接在__init__.py里写from .Class1 import Class1会更清晰,这样在main.py里导入的就是具体的类,而不是整个模块,使用起来更直观。

内容的提问来源于stack exchange,提问作者Kanerva Peter

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.15 07:11:11