Skip to main content

对 setuptools 声明性 setup.cfg 的文件支持

项目描述

声明setuptools性配置要求文件支持

该项目为使用 setuptools 声明性配置的项目添加了使用需求文件指定需求的能力。

这是有原因的,至少目前还没有默认支持。请阅读原因

无论如何,如果您知道自己在做什么,那么这个库解决了使用需求文件定义需求的缺失功能。

setup.cfg

setup.cfg应该包括一个名为 的部分requirements-files,例如:

[requirements-files]
setup_requires = requirements/setup.txt
install_requires = requirements/base.txt
tests_require = requirements/tests.txt
extras_require =
  docs = requirements/docs.txt
  cli = requirements/cli.txt

⚠ 注意

需求文件必须包含在 wheel 文件以及源 tarball 中

对于上面显示的示例,在setup.cfg中添加如下内容:

[options.data_files]
. = requirements/*.txt

或类似以下内容的内容MANIFEST.in

include requirements/*.txt

或者,如果您使用setuptools-scm,则需要将需求文件提交到 SCM 存储库。

pyproject.toml

pyproject.toml还应该包括setuptools-declarative-requirements

[build-system]
requires = ["setuptools>=50.3.2", "wheel", "setuptools-declarative-requirements"]
build-backend = "setuptools.build_meta"

setup.py

一些项目仍然使用setup.pyshim,类似于:

#!/usr/bin/env python
import setuptools

if __name__ == "__main__":
    setuptools.setup()

如果这是您的情况,您setup.cfg需要进行额外的调整。确保你 setuptools-declarative-requirementssetup_requires

[options]
setup_requires =
  setuptools>=50.3.2
  setuptools-declarative-requirements

请注意

⚠ 该项目不会尝试验证您的需求文件。

它唯一要做的就是包含您的需求文件中不以#,-r或. 开头的每个非空行--

项目详情


下载文件

下载适用于您平台的文件。如果您不确定要选择哪个,请了解有关安装包的更多信息。

源分布

setuptools-declarative-requirements-1.3.0.tar.gz (21.0 kB 查看哈希

已上传 source

内置分布

setuptools_declarative_requirements-1.3.0-py3-none-any.whl (9.2 kB 查看哈希

已上传 py3