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