poetry 正在参加 2021 年度 OSC 中国开源项目评选,请投票支持!
poetry 在 2021 年度 OSC 中国开源项目评选 中已获得 {{ projectVoteCount }} 票,请投票支持!
2021 年度 OSC 中国开源项目评选 正在火热进行中,快来投票支持你喜欢的开源项目!
2021 年度 OSC 中国开源项目评选 >>> 中场回顾
poetry 获得 2021 年度 OSC 中国开源项目评选「最佳人气项目」 !
授权协议 MIT
开发语言 Python 查看源码 »
操作系统 跨平台
软件类型 开源软件
所属分类 程序开发常用工具包
开源组织
地区 不详
投 递 者 SamuelYan
适用人群 未知
收录时间 2018-09-18

软件简介

poetry 是一个包管理和打包的工具。

在 Python 中,对于初学者来说,打包系统和依赖管理是非常复杂和难懂的。即使对于经验丰富的开发者,一个项目总是要同时创建多个文件: `setup.py` ,`requirements.txt`,`setup.cfg` , `MANIFEST.in` ,还有最新的 `Pipfile`。

基于此, poetry 将所有的配置都放置在一个 toml 文件中,这些配置包括:依赖管理、构建、打包、发布。

poetry 的灵感来自于其他语言的一些工具: composer(PHP) 和 cargo (Rust) 。

poetry

配置

poetry 的项目配置文件是 pyproject.toml ,一个简单的示例文件如下:

[tool.poetry]
name = "poetry"
version = "0.11.5"
description = "Python dependency management and packaging made easy."
authors = [
    "Sébastien Eustace <sebastien@eustace.io>"
]
license = "MIT"

readme = "README.md"

homepage = "https://poetry.eustace.io/"
repository = "https://github.com/sdispater/poet"
documentation = "https://poetry.eustace.io/docs"

keywords = ["packaging", "dependency", "poetry"]

classifiers = [
    "Topic :: Software Development :: Build Tools",
    "Topic :: Software Development :: Libraries :: Python Modules"
]

# Requirements
[tool.poetry.dependencies]
python = "~2.7 || ^3.4"
cleo = "^0.6.7"
requests = "^2.18"
cachy = "^0.2"
requests-toolbelt = "^0.8.0"
jsonschema = "^2.6"
pyrsistent = "^0.14.2"
pyparsing = "^2.2"
cachecontrol = { version = "^0.12.4", extras = ["filecache"] }
pkginfo = "^1.4"
html5lib = "^1.0"
shellingham = "^1.1"
tomlkit = "^0.4.4"

# The typing module is not in the stdlib in Python 2.7 and 3.4
typing = { version = "^3.6", python = "~2.7 || ~3.4" }

# Use pathlib2 for Python 2.7 and 3.4
pathlib2 = { version = "^2.3", python = "~2.7 || ~3.4" }
# Use virtualenv for Python 2.7 since venv does not exist
virtualenv = { version = "^16.0", python = "~2.7" }

[tool.poetry.dev-dependencies]
pytest = "^3.4"
pytest-cov = "^2.5"
mkdocs = "^1.0"
pymdown-extensions = "^4.9"
pygments = "^2.2"
pytest-mock = "^1.9"
pygments-github-lexers = "^0.0.5"
black = { version = "^18.3-alpha.0", python = "^3.6" }
pre-commit = "^1.10"
tox = "^3.0"


[tool.poetry.scripts]
poetry = "poetry.console:main"

命令

poetry 提供了一系列覆盖整个开发流程的命令,这些命令使用简单:

poetry 命令
名称 功能
new  创建一个项目脚手架,包含基本结构、pyproject.toml 文件
init 基于已有的项目代码创建 pyproject.toml 文件,支持交互式填写
install 安装依赖库
update 更新依赖库
add 添加依赖库
remove 移除依赖库
show 查看具体依赖库信息,支持显示树形依赖链
build 构建 tar.gz 或 wheel 包
publish 发布到 PyPI
run 运行脚本和代码
展开阅读全文

代码

的 Gitee 指数为
超过 的项目

评论

点击加入讨论🔥(4) 发布并加入讨论🔥
发表了资讯
2022/09/07 08:40

Poetry 1.2.0 发布,Python 依赖管理和打包工具

Poetry 1.2.0 已正式发布。在 2 年开发周期内,新版本包含许多变化、新特性和 Bugfix。 Poetry 是一款 Python 依赖管理和打包工具。 主要变化 采用新的独立安装程序 旧版get-poetry.py安装脚本已替换为 install.python-poetry.org。安装程序现在是一个独立的项目,有自己的问题跟踪器。 新的安装程序包含以下改进: 从 standard wheels 安装发行版,而不是特定于平台的特殊档案。因此可支持pipx和手动安装,并防止发行版需要使用...

0
6
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
发表了博客
{{o.pubDate | formatDate}}

{{formatAllHtml(o.title)}}

{{parseInt(o.replyCount) | bigNumberTransform}}
{{parseInt(o.viewCount) | bigNumberTransform}}
没有更多内容
暂无内容
发表了问答
{{o.pubDate | formatDate}}

{{formatAllHtml(o.title)}}

{{parseInt(o.replyCount) | bigNumberTransform}}
{{parseInt(o.viewCount) | bigNumberTransform}}
没有更多内容
暂无内容
暂无内容
4 评论
56 收藏
分享
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部