先参考这篇记录大概理解了原因, 再深入了解下python的import机制, 发现自己的模块之间存在互相import. 比如,A.py中import B,而B.py中也import A了, 现在执行模块A,就会先将B中的代码搬过来,但B中有import A,而此时A.pyc还没生成,所以B中import A之后的代码也执行不了: 如果mode B 的 attribute xxx是定义在import A之后,那么就会出现题目中的报错: (而python是解释性语言,所以import A之前的代码还…