首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >正在创建其他包的包扩展[Python]

正在创建其他包的包扩展[Python]
EN

Stack Overflow用户
提问于 2021-03-24 00:15:28
回答 1查看 18关注 0票数 0

亲爱的们:

我想创建一个Python包,它可以用其他pip可安装包进行扩展,用新特性扩展第一个核心包。

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

核心库的设置如下:

代码语言:javascript
复制
library/
    setup.py
    library/
        __init.py__
        core/
            core_module1.py
            core_module2.py

然后,我开发了一个新的包,称为

代码语言:javascript
复制
library-feature/
    setup.py
    library_feature/
        __init__.py
        feature/
            __init__.py
            feature_module1.py
            feature_module2.py

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

代码语言:javascript
复制
import library

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

回答 1

Stack Overflow用户

发布于 2021-03-26 20:19:04

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

代码语言:javascript
复制
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

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66767061

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档