我的问题是,我正在使用的项目附带了重现其结果所需的所有培训数据。我希望默认安装(pip install package
)包含所有这些内容,但特定安装(pip install package[train_only]
)不包括。
我希望减少它的两种方式是:
为默认和train_only版本提供不同的清单,其中默认清单更具包容性,
每个都有不同的install_requires,默认值更具包容性。
我知道如何使用extra_requires
安装额外内容,但如何安装更少?
答案 0 :(得分:1)
distribution[extras]
语法仅用于为可选功能指定其他依赖项,这通常意味着收集要安装的其他发行版。您无法以任何方式使用此功能来控制包数据。
distutils和setuptools中不支持条件MANIFEST.in
和/或包数据。您最好的选择是为自定义安装后脚本创建挂钩。
如果您愿意考虑转移到额外数据的“添加”安装模型,那么您可以选择更好的选项:
pip install mypackage # to install without extra training data stuff
pip install mypackage[mystuff] # to install with extra training data stuff
然后,您将创建一个单独的分发mystuff
,其中包含所需的所有培训数据。