小编toi*_*per的帖子

pyproject.toml 中的 [tool.poetry] 和 [project] 表有什么区别?

语境

因此,我尝试按照本教程创建一个新的 Python 包:https://packaging.python.org/en/latest/tutorials/packaging-projects/

正如教程所说,在我的pyproject.tomlI 中应该具有以下结构:

[project]
name = "example_package_YOUR_USERNAME_HERE"
version = "0.0.1"
authors = [
  { name="Example Author", email="author@example.com" },
]
description = "A small example package"
Run Code Online (Sandbox Code Playgroud)

但是当我用 创建这个文件时poetry init,它创建了这个结构:

[tool.poetry]
name = "example_package_YOUR_USERNAME_HERE"
version = "0.0.1"
authors = [
  { name="Example Author", email="author@example.com" },
]
description = "A small example package"
Run Code Online (Sandbox Code Playgroud)

两者之间的主要区别在于[project]代替[tool.poetry]节标题。我还看到,poetry当没有[tool.poetry]部分时,这对项目没有任何作用pyproject.toml


所以我的问题是:

  1. 这两者有什么区别?

  2. 我的 中应该只有一个还是同时有两个pyproject.toml?如果我应该保留两者,它应该包含什么?

  3. 如果应该只有[tool.poetry],我是否需要遵循与 相同的内容和子部分规则[project]?例如, …

setuptools pypi python-packaging python-poetry pyproject.toml

22
推荐指数
1
解决办法
7091
查看次数