Python dependency between modules
本问题已经有最佳答案,请猛点这里访问。
Possible Duplicate:
Python: Circular (or cyclic) imports
Circular dependency in Python
我有一个python包,其中包含两个相互导入的模块。也就是说,在模块A中,我们有一条线
1 | from B import b |
在模块B中我们有线路
1 | from A import a |
当我试图加载包含这些模块的包时,会出现以下错误
ImportError: cannot import name a
有没有办法避免这个错误(不把两个模块组合成一个大模块AB)?
把它们分成更多的模块——例如,你可以把
使用
在需要其他模块的符号的特定位置使用函数级导入。(我不太喜欢这个选项,但它是有效的。)
您不能这样做,因为您有一个循环引用。创建一个新模块并在其中导入:
1 2 | from B import b from A import a |