簡體   English   中英

從同一個存儲庫創建不同的 python 包

[英]Create different python packages from same repository

我正在從我擁有的源代碼存儲庫構建一個 Python package,使用帶有setuptools.setup(...)setup.py腳本。 在此 function 調用中,我使用install_requires參數包含了要安裝的項目所需的所有 Python 庫。

但是,我注意到有些用戶並沒有使用這個 package 中的所有子包,而是只使用了一些特定的子包,這些子包不需要安裝一些龐大的庫(例如,torch)。

鑒於這種情況,我可以在同一個存儲庫中創建類似myrepo['full']myrepo['little']嗎? 如果可能的話,您是否有任何關於如何這樣做的文件?

這稱為可選依賴項,並使用extras_require實現。 它是一個字典,將名稱映射到字符串列表,指定必須安裝哪些其他發行版才能支持這些功能。 例如:

setup(
    name="MyPackage",
    ...,
    extras_require={
        'little': ['dep1', 'dep2'],
        'full': ['dep1', 'dep2', 'torch'],
    },
)

為避免重復列出常見的依賴項:

common_deps = ['dep1', 'dep2']

setup(
    name="MyPackage",
    ...,
    extras_require={
        'little': common_deps,
        'full': common_deps + ['torch'],
    },
)

請參閱https://setuptools.pypa.io/en/latest/userguide/dependency_management.html#optional-dependencies上的文檔。 將文檔切換到菜單中的setup.py

暫無
暫無

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

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