报错:
No module named ‘ldm.util’; ‘ldm’ is not a package
AttributeError: module ‘ldm’ has no attribute ‘__ path__’
原因:
1.首先这个引用没有被画横线,说明包存在,并且也在包目录底下添加了__init__.py文件
(如果不是,首先确认包都setup.py install好了,然后如果每一级的目录下面没有__init__.py,就自己创建一个空文件,重命名成__init__.py就行)
2.全都搞定,也没画横线报错,为什么一运行就报错。显然编译器从资源文件里找到了这些所有的包,但是编译时却出错了。
因为编译时会从sys.path里存的所有路径里依次寻找这个包,按名字寻找。
这下真相大白了,显然是这个ldm包和某个ldm.py重名了,导致编译时首先寻找到ldm文件,然后发现这只是个文件而不是目录,然后不知道该怎么办,只能报错了。
解决:
办法很直白,就是给这个包改个名字就行,反正在自己的文件里引用,叫什么名字都不影响用
我直接把ldm改成ldm1
改名前:
如果你用vscode,可以在编译器里右键rename:
OK即可,会帮你把所有引用这个包的地方都改名,不用自己动手了
改名后:
此时运行就不再报这个错