Упаковка пространства имен Python ModuleNotFoundError - PullRequest
0 голосов
/ 02 марта 2019

Я пытаюсь иметь вложенные пространства имен внутри пространства имен модуля.(Я пытаюсь следовать документации по пакетным пакетам пространства имен )

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?Или столкновение пространства имен неизбежно, когда я настраиваю свои проекты таким образом?

...