Python名称空间包装ModuleNotFoundError

时间:2019-03-01 23:00:46

标签: python module namespaces package packaging

我正在尝试在模块名称空间中包含子名称空间。 (我正在尝试遵循packaging namespace packages上的文档)

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.pyproject_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模块中是否可以有嵌套的名称空间?还是以这种方式设置项目时,不可避免发生名称空间冲突?

0 个答案:

没有答案