我在另一个包中有一个非常复杂的包树,如下所示
A\
B\
a.py
b.py
c.py
C\
a.py
b.py
c.py
我希望能够执行import A
和访问所有子包和子模块,例如A.B.a.foo()
. 一种方法是A/__init__.py
导入所有A
的子包,但一些子包也导入其他子包(例如,A.C
使用来自的东西A.B
,导致一个ImportError
。我正在寻找的是一种方法from A import B as A.B
,即导入子包但是仍然让它们绑定到父包。有什么好的方法吗?
(我不确定什么标题体现了这个问题,如果有人有更好的标题,那么我会改变它。)