我有一个项目,我想重组以使用 Python 的本机隐式命名空间。我有我想像这样交互的代码:
from mypackage import Foo
from mypackage.admin import Bar
admin
子包位于完全独立的存储库中。这些文件的组织方式如下:
mypackage
│
└─ core
│ __init__.py
│ file.py
│ foo (contains class 'Foo')
│ ...
同样的子包:
mypackage
│
└─ admin
│ __init__.py
│ bar.py (contains class Bar)
│ another_folder
│ ...
我必须将原始包中的所有内容放入顶级core
子包中,以使共享命名空间工作:
from mypackage.core import Foo
from mypackage.admin import Bar
有没有一种方法可以构建它,以便我可以core
在顶层访问我的包中的所有内容,如下所示?
from mypackage import Foo
from mypackage.admin import Bar
我import
在文件中添加了适当的东西__init__.py
,但我不知道如何将对象拉入顶级命名空间(如果它甚至受支持的话)。