Skip to main content
 首页 » 编程设计

python之如何根据我希望使用的 extra_requires 更改 Manifest.in

2025年01月19日26qlqwjy

我的问题是我正在处理的项目附带了重现其结果所需的所有培训数据。我希望默认安装 (pip install package) 包含所有这些东西,但特定安装 (pip install package[train_only]) 不包含。

我想瘦下来的两种方法是:

  1. 默认和 train_only 版本具有不同的 list ,其中默认 list 更具包容性,并且

  2. 每个都有不同的 install_require,其中默认设置更具包容性。

我知道如何使用 extra_requires 安装 extra 东西,但我该如何安装 less 呢?

请您参考如下方法:

distribution[extras] 语法仅用于为可选功能指定额外的依赖性,这通常意味着收集其他发行版进行安装。您不能使用此功能以任何方式控制包数据。

distutils 和 setuptools 不支持条件 MANIFEST.in 和/或包数据。您最好的选择是为自定义安装后脚本创建 Hook 。

如果您愿意考虑改为使用“附加”安装模型来获取额外数据,那么您有一个更好的选择:

pip install mypackage           # to install without extra training data stuff 
pip install mypackage[mystuff]  # to install with extra training data stuff 

然后您将创建一个单独的分布 mystuff,其中将包含所有需要的训练数据。