[英]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.