簡體   English   中英

將 package 擴展創建到其他 package [Python]

[英]Creating package extension to other package [Python]

親愛的,

我想創建一個 Python package 可以使用其他可安裝 pip 的軟件包進行擴展,它使用新功能擴展了第一個核心 package。

我有它在核心庫命名空間/路徑中導入這些“擴展”子包的問題。 讓我用一個例子更好地解釋它:

核心庫是這樣設置的:

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

然后,我開發了一個新的 package,名為

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

我通過將這些代碼行放入library/__init__.py解決了這個問題

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

並將子包feature-library/feature_library重命名為feature-library/library

這樣我們就可以從library命名空間訪問feature功能。

有關更多信息,請點擊此鏈接到官方文檔

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM