Python导入类时报ModuleNotFoundError找不到基模块如何解决
问题解决方案
报错根因
运行main.py时,Python默认会将main.py所在的/app目录加入模块搜索路径。module1.py中from module_base import ModuleBase属于绝对导入逻辑,Python会直接在/app目录下搜索module_base.py,找不到对应文件就会触发ModuleNotFoundError。
修复方案
两种方案任选其一即可:
- 方案1(最推荐,包内导入标准写法):修改
module1.py的导入语句为相对导入,.代表当前文件所在的包目录
from .module_base import ModuleBase
- 方案2:使用完整绝对导入路径,从根层级的包开始写导入路径
from folder.module_base import ModuleBase
init.py配置说明
你现有项目中的两个__init__.py保持空文件就可以满足正常导入需求,不需要额外配置,它的核心作用是标识当前目录为Python可识别的导入包。
如果需要简化上层导入逻辑,比如让main.py可以直接写from folder import ModuleThing,可以在/app/folder/__init__.py中添加如下内容:
from .module1 import ModuleThing
内容的提问来源于stack exchange,提问作者nialloc
相关产品推荐
相关产品推荐

