Poetry 帮助你声明、管理和安装 Python 项目的依赖,确保你在任何地方都有正确的技术栈。
Poetry 使用简单的基于 pyproject.toml
的项目格式替代了 setup.py
、requirements.txt
、setup.cfg
、MANIFEST.in
和 Pipfile
。
[tool.poetry] name = "my-package" version = "0.1.0" description = "包的描述" license = "MIT" authors = [ "Sébastien Eustace <sebastien@eustace.io>" ] repository = "https://github.com/python-poetry/poetry" homepage = "https://python-poetry.org" # README 文件用作包的描述 readme = ["README.md", "LICENSE"] # 关键词(转换为包索引上的标签) keywords = ["packaging", "poetry"] [tool.poetry.dependencies] # 兼容的 Python 版本 python = ">=3.8" # 标准依赖项,使用语义化版本约束 aiohttp = "^3.8.1" # 带有额外功能的依赖项 requests = { version = "^2.28", extras = ["security"] } # 特定版本的依赖项,允许预发布版本 tomli = { version = "^2.0.1", python = "<3.11", allow-prereleases = true } # Git 依赖项 cleo = { git = "https://github.com/python-poetry/cleo.git", branch = "main" } # 可选依赖项(通过额外功能安装) pendulum = { version = "^2.1.2", optional = true } # 支持依赖组来组织你的依赖项 [tool.poetry.group.dev.dependencies] pytest = "^7.1.2" pytest-cov = "^3.0" # ...并且只有在明确请求时才安装 [tool.poetry.group.docs] optional = true [tool.poetry.group.docs.dependencies] Sphinx = "^5.1.1" # Python 风格的入口点和脚本可以轻松表达 [tool.poetry.scripts] my-script = "my_package:main"
Poetry 支持多种安装方法,包括在 install.python-poetry.org 上提供的简单脚本。有关完整的安装说明,包括脚本的高级用法、替代安装方法和 CI 最佳实践,请参阅完整的安装文档。
当前版本 Poetry 的文档(以及开发分支和最近不再支持的版本)可在官方网站上获取。
Poetry 是一个复杂的大型项目,始终需要贡献者。对于项目新手,我们提供了一份在 Poetry 和 poetry-core 中可以着手的建议问题列表。完整的贡献文档也提供了有用的指导。