导入本地Python文件遇ModuleNotFoundError,该如何解决?
问题原因及解决方案
核心问题
你遇到的ModuleNotFoundError是因为导入路径错误:reponedor.py中使用from persona import Persona属于绝对导入,Python会从系统默认路径(而非当前models文件夹)查找persona模块,自然找不到同目录下的文件。
解决方法
方法1:使用相对导入
修改models/reponedor.py中的导入语句为:
from .persona import Persona
这里的.代表当前模块所在的目录(即models文件夹),Python会正确定位到同目录下的persona.py。
方法2:使用基于项目根目录的绝对导入
- 确保
models文件夹下存在空的__init__.py文件(让Python将其识别为可导入的包)。 - 修改
models/reponedor.py中的导入语句为:
from models.persona import Persona
这种方式依赖Python能识别项目根目录(即abp_individual_4.py所在的目录)为模块搜索路径,通常直接运行根目录下的主文件时会自动生效。
额外检查
- 确认
models文件夹下确实存在persona.py文件,且文件名拼写完全一致(Python对文件名大小写敏感)。 - 运行程序时,确保从项目根目录启动(直接运行
abp_individual_4.py即可,不要进入models文件夹运行子文件)。
内容的提问来源于stack exchange,提问作者Leonardo Rodenas
相关产品推荐
相关产品推荐

