【问题标题】:Can objects be pulled into the top namespace level when using Python's implicit namespace support? [duplicate]使用 Python 的隐式命名空间支持时,可以将对象拉入顶级命名空间级别吗? [复制]
【发布时间】: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


    【解决方案1】:

    感谢this question 几乎是重复的,事实证明这在使用命名空间时是不可能的。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-12-24
      • 1970-01-01
      • 1970-01-01
      • 2010-10-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-01-14
      相关资源
      最近更新 更多