向
pyproject.toml
中的 Python 包提供名称的正确格式是什么?这是 pyproject.toml
文件:
[project]
name = "foobar"
version = "0.0.1"
[build-system]
requires = ["setuptools>=40.8.0", "wheel"]
build-backend = "setuptools.build_meta"
使用
python -m build
调用的构建会导致以下错误。
running check
warning: check: missing required meta-data: name, url
warning: check: missing meta-data: either (author and author_email) or (maintainer and maintainer_email) should be supplied
基于这个reddit帖子问题我也遇到了同样的问题。
更新
提出问题时,setuptools不支持将其配置写入
pyproject.toml
文件(PEP 621)。所以无法回答这个问题。
从版本 61.0.0 开始,setuptools 支持 PEP 621:
原答案
您似乎正在尝试使用 setuptools 构建后端编写 PEP 621
风格pyproject.toml
。
但是,截至目前,setuptools 尚不支持 PEP 621。工作正在进行中:
直到 PEP 621 支持到达 setuptools,人们可以:
如果您使用的是 Ubuntu,则根据 此错误报告
在 Ubuntu 22.04 (Jammy) 上确保环境变量 安装 PEP621 之前的 DEB_PYTHON_INSTALL_LAYOUT=deb_system 具有 pip 和 setuptools 的合规项目。
也就是说,做 例如:
DEB_PYTHON_INSTALL_LAYOUT=deb_system pip install .
而不是:
pip install .
否则,即使您在 pip 中升级了 setuptools
,系统也可能会选择 apt 安装的旧版本
setuptools
(59.x)。