【问题标题】:Creating package extension to other package [Python]为其他包创建包扩展 [Python]
【发布时间】:2021-03-23 16:15:28
【问题描述】:

亲爱的,

我想创建一个 Python 包,它可以使用其他 pip 可安装包进行扩展,它扩展了第一个核心包并具有新功能。

我有它在核心库命名空间/路径中导入这些“扩展”子包的问题。 让我用一个例子更好地解释它:

核心库是这样设置的:

library/
    setup.py
    library/
        __init.py__
        core/
            core_module1.py
            core_module2.py

然后,我开发了一个名为

的新包
library-feature/
    setup.py
    library_feature/
        __init__.py
        feature/
            __init__.py
            feature_module1.py
            feature_module2.py

如何使用仅导入核心库的功能模块?

import library

from library.core.core_module1 import core_function
from library.feature.feature_module1 import feature_function

【问题讨论】:

    标签: python import package


    【解决方案1】:

    我通过将这些代码行放入library/__init__.py解决了这个问题

    from pkgutil import extend_path
    __path__ = extend_path(__path__, __name__)
    

    并重命名子包 feature-library/feature_library 进入 feature-library/library

    这样我们就可以从library 命名空间访问feature 功能。

    更多信息请关注this link to the official documentation

    【讨论】:

      猜你喜欢
      • 2018-01-17
      • 2015-09-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-04-18
      • 1970-01-01
      • 2017-08-28
      • 1970-01-01
      相关资源
      最近更新 更多