1

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

  1. 手动编写要求作为参数setup.py的一部分setup_requires
#setup.py
from setuptools import setup
#...
setup(
    name='bla',
    #...
    setup_requires = ['setuptools>=45.0', 'cython>=0.29'],
)
  1. 将这些要求写入PEP518pyproject.toml之后的单独文件中:
#pyproject.toml
[build-system]
# Minimum requirements for the build system to execute.
requires = ["setuptools>=45.0", "cython>=0.29"]

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

4

1 回答 1

2

创建上述 PEP 是为了解决“基本原理”部分中列出的第一种方法的局限性。打包 Python推荐使用第二种方法。

于 2021-08-06T09:02:30.397 回答