You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

同目录下Python模块导入报错:ModuleNotFoundError问题求助

解决ModuleNotFoundError: No module named 'db_layer'的问题

兄弟,你遇到的这个错误是Python导入模块时超常见的小失误——你在import语句里多写了.py后缀

问题根源

Python的模块导入机制是基于模块名(也就是去掉.py后缀的文件名)来查找文件的。当你写:

from db_layer.py import DBLayer

Python会尝试去寻找一个名为db_layer.py的模块,也就是它会找db_layer.py.py这个文件,显然你的目录里并没有这个文件,所以才会抛出ModuleNotFoundError

正确的写法

把代码改成下面这样就可以正常导入了:

from db_layer import DBLayer

额外排查点(如果改完还是报错)

如果修改后缀后仍然有问题,可以检查这几点:

  • 确认PDSC2.pydb_layer.py确实在同一个目录下,并且你运行PDSC2.py时的工作目录就是这个文件夹(有些IDE的运行配置可能会默认把项目根目录设为工作目录,需要手动调整)
  • 检查文件名的拼写和大小写:Windows系统下文件名不区分大小写,但Linux/macOS是严格区分的,比如DbLayer.pydb_layer.py会被视为不同的模块
  • 确认db_layer.py文件里确实正确定义了DBLayer类,类名的拼写和大小写和你导入的完全一致

内容的提问来源于stack exchange,提问作者Carmel Han

火山引擎 最新活动