pyproject.toml 文件

tool.poetry 是最基本的section,然后它由多个 sections 组成

 

name

package 名字,必填

 

version

package 版本号  ,必填

 

description

package 描述  ,必填

 

license

package 许可证,可选

 

authors

package 作者,必填

 

maintainers

package 维护者,可选

 

readme

  • package readme 文件,可选
  • README.rst 或 README.md

 

homepage

package 项目网站的 URL,可选

 

repository

package 指向项目 repository 的 URL,可选

 

documentation

package 项目文档的 URL,可选

 

keywords

与 package 相关的关键字列表(最多5个),可选

 

dependencies and dev-dependencies

默认情况下,poetry 会从 Pypi 库中查找依赖项,只需要写名称、版本就行了

[tool.poetry.dependencies]
python = "^3.9"
requests = "^2.26.0"

重点:必须声明与包兼容的python版本 python = "^3.9" 

 

使用私有存储库

[[tool.poetry.source]]
name = 'private'
url = 'http://example.com/simple'

 

extras

支持可选依赖项

[tool.poetry.dependencies]
# 这些软件包是强制性的
mandatory = "^1.0"

# 可选依赖项列表,可自行选择安装哪些
psycopg2 = { version = "^2.7", optional = true }
mysqlclient = { version = "^1.3", optional = true }

[tool.poetry.extras]
mysql = ["mysqlclient"]
pgsql = ["psycopg2"]

 

当需要安装可选依赖库时

poetry install --extras "mysql pgsql"
poetry install -E mysql -E pgsql