Python运行Team.py报ModuleNotFoundError: No module named 'User'如何解决?
问题原因
该错误由Python模块搜索路径不匹配导致,运行Team.py时Python没有将Team.py所在的TableInfo目录纳入模块搜索范围,因此无法识别同目录下的User.py模块。此前能正常运行大概率是之前的执行环境(IDE/终端)自动将TableInfo目录加入了搜索路径,切换执行环境或工作目录后就触发了报错。
解决方法
- 方法1:调整执行命令(最规范,无需修改代码)
不要直接进入TableInfo目录执行python Team.py,切换到MyProject根目录后,执行以下命令即可:python -m TableInfo.Team - 方法2:手动添加搜索路径(适合需要直接运行Team.py的场景)
在Team.py的最顶部添加以下代码,将当前文件所在目录加入Python搜索路径:
添加后保留原来的import sys import os sys.path.append(os.path.dirname(os.path.abspath(__file__)))from User import createUser语句即可正常运行。 - 方法3:调整为包内相对导入(仅适合将TableInfo作为包调用的场景)
将Team.py中的导入语句修改为:
注意该方法不支持直接运行from .User import createUserTeam.py,仅适用于TableInfo作为包被其他上层代码导入调用的场景。
内容的提问来源于stack exchange,提问作者doobybooby
相关产品推荐
相关产品推荐

