Python 打包:pyproject.toml 中的构建需求 VS setup_requires

2023-12-13

在有点复杂的Python中setup.py配置,通常需要已经存在的其他库才能执行setuptools.setup。就我而言,这将是setuptools>=45.0 and cython>=0.29。现在,我有两个选项来声明这些构建时要求(不要与通常在requirements.txt文件)以便将此项目发送到 PyPI:

  1. 手动编写需求作为setup.py in the setup_requires争论:
#setup.py
from setuptools import setup
#...
setup(
    name='bla',
    #...
    setup_requires = ['setuptools>=45.0', 'cython>=0.29'],
)
  1. 将这些要求写成单独的pyproject.toml文件跟随PEP518:
#pyproject.toml
[build-system]
# Minimum requirements for the build system to execute.
requires = ["setuptools>=45.0", "cython>=0.29"]

它们可以互换吗?应该使用哪一个,为什么?


上述 PEP 的创建是为了解决第一种方法的局限性,这些局限性在基本原理部分。打包Python推荐使用第二种方法。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Python 打包:pyproject.toml 中的构建需求 VS setup_requires 的相关文章

随机推荐