【发布时间】:2020-07-17 01:26:28
【问题描述】:
我有一个项目,我想重组它以使用 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-ing 在__init__.py 文件中适当的东西,但我不知道如何将对象拉入顶级命名空间(如果它甚至受支持的话)。
【问题讨论】:
标签: python module namespace-package