我整理了一个具有以下结构的库:
filters/
__init__.py
core/
__init__.py
base.py
complex.py
number.py
string.py
extra/
__init__.py
django.py
iso.py
当开发人员执行filters.core
时,应始终安装 pip install filters
。
但是,我希望filters.extra
是可选的。它默认不会安装;相反,开发人员需要执行pip install filters[extra]
之类的操作才能安装额外的软件包以及核心。
是否可以使用setuptools执行此操作?
答案 0 :(得分:3)
使用默认的setuptools方法无法做到这一点。您可以选择两个选项:
filters-extra
。这是许多项目所做的。看,例如在flask on pypi。如果附加内容与您的核心功能真正分离,并且代码中没有互连,我通常会选择选项1,因为它更直接使用和记录。