最近,在Twitter上有一个Python项目的维护者,他的项目因为构建失败而出现了一些bug(这个特别的项目不提供wheel,只提供sdist)。最终,发现这个bug是由于这个项目使用了一个pyproject.toml文件,因为这是配置Black的方式,而不用于其他目的。这不是我第一次看到setuptools用户使用pyproject.toml了,有时他们会在不知道该文件背后的全部意义的情况下被“告知去使用<插入工具名称>”。因此,我决定写这篇博客文章,尝试向setuptools用户解释为什么pyproject.toml会存在,以及它是做什么的,因为它是Python生态系统中软件打包的未来(如果你不是conda用户的话)。