产生这种问题的原因好像挺多的,我就说一下我碰到的这种情况怎么解决吧
首先说结论:模块导入的相对路径问题
解释起来比较绕,我遇到这种情况是,在project项目下,有两个包,分别为包1,和包2。然后包1下又有两个python文件,文件1和文件2,文件1使用相对路径直接调用了文件2,此时文件1程序运行时基于的相对地址是文件1本身,此时运行没有问题。
然后然后重点来了,此时包2里的文件3调用了文件1,当文件3执行文件1里的内容时,这时候基于的相对地址是文件3的地址,然后文件3根据这个地址去寻找文件2,这就相当于拿前朝的剑斩本朝的官,当然是不行的。