Python 包和依赖管理变得简单
Poetry
确定性构建
开发
Poetry 提供了您可能需要的所有工具,以确定性方式管理您的项目。
$ poetry add pendulum
Using version ^2.0.5 for pendulum
Updating dependencies
Resolving dependencies... (1.5s)
Package operations: 4 installs, 0 updates, 0 removals
- Installing six (1.13.0): Downloading... 25%
- Updating pytzdata (2019.3 -> 2020.4): Installing...
- Installing pendulum (2.0.5)
Writing lock file
轻松打包
构建
只需一个命令即可轻松 **构建** 和 **打包** 您的项目。
$ poetry build
Building poetry (1.0.0)
- Building sdist
- Built poetry-1.0.0.tar.gz
- Building wheel
- Built poetry-1.0.0-py2.py3-none-any.whl
支持源代码分发和轮子。
分享您的作品
发布
通过将您的作品 **发布** 到 PyPI,让更多人了解您的作品。
$ poetry publish
Publishing poetry (1.0.0) to PyPI
- Uploading poetry-1.0.0.tar.gz 100%
- Uploading poetry-1.0.0-py2.py3-none-any.whl 58%
您也可以发布到 **私有** 仓库。
检查依赖项的状态
跟踪
只需一个命令即可洞悉您的项目依赖项。
$ poetry show --tree
requests-toolbelt 0.8.0 A utility belt for advanced users...
└── requests <3.0.0,>=2.0.1
├── certifi >=2017.4.17
├── chardet >=3.0.2,<3.1.0
├── idna >=2.5,<2.7
└── urllib3 <1.23,>=1.21.1
$ poetry show --latest
pendulum 2.0.4 1.4.5 Python datetimes made easy.
django 1.11.11 2.0.3 A high-level Python Web framework ...
requests 2.18.4 2.18.4 Python HTTP for Humans.
依赖解析器
Poetry 带有一个 **全面** 的依赖解析器,它将始终找到存在的 **解决方案**。
如果没有解决方案,您将获得 **详细** 的解释。
隔离
Poetry 使用您配置的虚拟环境或创建自己的虚拟环境,以始终与您的系统 **隔离**。
行为是 **可配置** 的。
直观的 CLI
Poetry 的命令 **直观** 且易于使用,具有合理的默认值,同时仍然可配置。
它也是 **可扩展** 的,具有插件系统。