Я пытаюсь иметь вложенные пространства имен внутри пространства имен модуля.(Я пытаюсь следовать документации по пакетным пакетам пространства имен )
project_1/
│ └── namespace
| ├── __init__.py #declare_namespace
│ └── subnamespace
│ ├── __init__.py #declare_namespace
│ └── module_1
│ ├── __init__.py
│ └── __main__.py
└── setup.py
project_2/
│ └── namespace
| ├── __init__.py #declare_namespace
│ └── subnamespace
│ ├── __init__.py #declare_namespace
│ └── module_2
│ ├── __init__.py
│ └── __main__.py
└── setup.py
Где мой файл setup.py
в project_1
и project_2
выглядит так:
#setup.py
setup(
...
packages=find_packages(),
namespace_packages=[namespace.subnamespace]
...
)
Кроме того, __init__.py
модули, в которых я объявляю пространство имен, выглядят так:
#__init__.py
__import__('pkg_resources').declare_namespace(__name__)
К сожалению, я получаю moduleNotFoundError
при попытке запустить:
import namespace.subnamespace.module_1
Возможно ли иметь вложенные пространства имен в модулях python?Или столкновение пространства имен неизбежно, когда я настраиваю свои проекты таким образом?