如何处理将作为另一个包的依赖项的命名空间包

2024-04-25 19:21:50 发布

您现在位置:Python中文网/ 问答频道 /正文

我已经编写了三个Python模块,其中两个是独立的,但是最后一个依赖于两个独立的模块。例如,考虑以下结构

myProject/
    subpackage_a/
        __init__.py
        ...
    subpackage_b/
        __init__.py
        ...
    mainpackage/
        __init__.py
        ...

mainpackage依赖于subpackage_asubpackage_b,其中assubpackage_asubpackage_b可以独立使用。换句话说,在mainpackage中,有对subpackage_asubpackage_b的引用。简而言之,我希望用户能够在不调用mainpackage的情况下执行from myProject import subpackage_a并开始执行subpackage_a.subfunction(args)。我还希望用户使用from myProject import mainpackage并开始使用mainpackage.mainfucntion(args),其中mainpackage.mainfucntion将调用subpackage中的函数

我学习了命名空间打包。但是,我在命名空间包中找不到任何涉及依赖项的内容。如果有更好的解决方案,我不必使用名称空间打包。我能得到一些关于我应该寻找什么的建议吗?你知道吗


Tags: 模块用户frompyimportinitmyproject空间

热门问题