ModuleNotFoundError: No module named 'xxx'; 'xxx' is not a package

在使用脚本导数据的时候,出现了个这个错: ModuleNotFoundError,项目目录如下

project
   |-- ...
   |-- load_data
           |-- __init__.py
           |-- load_data.py
           |-- util.py        
               
 
    

只有一个load_data,没有util的时候,没有出现问题,添加util后,load_data里面会引用util中的函数,导入方式为:

from load_data.util import xxx

再运行load_data就会出现上面那个错误: ModuleNotFoundError: No module named 'util'; 'load_data' is not a package 

产生这个错一般有两种情况:

    一是load_data确实不是package,这块在其文件夹下有__init__.py 就能处理,这里的错不属于这种情况

    二是load_data包中有和package同名的.py文件(以前一直没注意),这里就是这种情况,当包中有和package同名的.py文件,且还有其他.py文件,这当中有相互间的调用的时候,就会出这个问题。要解决将包名或是同名的.py文件名修改为不一致就可以了。

你可能感兴趣的:(python)