跳转到主要内容

支持setuptools declarative 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.py壳,类似于

#!/usr/bin/env python
import setuptools

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

如果这是您的情况,您的setup.cfg需要额外的调整。请确保您在setup_requires中包含setuptools-declarative-requirements

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

请注意

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

它所做的唯一事情是包括来自您需求文件的每一行非空行,这些行不以#-r--开头。

项目详情


下载文件

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

源代码分发

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

上传时间 源代码

构建分发

由以下机构支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误记录 StatusPage StatusPage 状态页面