亲爱的们:
我想创建一个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发布于 2021-03-26 20:19:04
我通过将这几行代码放入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
https://stackoverflow.com/questions/66767061
复制相似问题