poetry
是一个 Python 打包和依赖管理工具,旨在简化 Python 包的创建、发布和依赖管理。与传统的 setuptools
、pip
和 requirements.txt
的组合相比,poetry
提供了一个统一和简化的工具和工作流程。
以下是关于 poetry
的详细介绍:
主要特点:
- 声明式的依赖管理: 通过
pyproject.toml
文件,你可以明确地指定项目的依赖和版本。 - 自动生成
lock
文件: 类似于 JavaScript 的yarn
或 Ruby 的Bundler
,poetry
会生成一个poetry.lock
文件,确保在所有环境中的依赖都是确定和一致的。 - 虚拟环境管理: 默认情况下,
poetry
为每个项目自动创建和管理一个虚拟环境。 - 包构建和发布: 使用单个工具,你可以构建和发布你的包到 PyPI。
- 完整的依赖解析:
poetry
有一个强大的依赖解析算法,确保项目的所有依赖都是相容的,且没有版本冲突。 - 管理 Python 版本: 你可以在
pyproject.toml
文件中指定 Python 的版本,确保所有开发者和环境使用同样版本的 Python。
使用方法:
1. 安装:
curl -sSL https://install.python-poetry.org | python3 -
2.创建新项目:
poetry new project-name
3.添加新的依赖:
poetry add package-name
4.安装依赖:
poetry install
5.查看虚拟环境路径:
poetry env info --path
6.定义和使用脚本:
在 pyproject.toml
文件中,您可以定义脚本,类似于 npm
的脚本。例如:
[tool.poetry.scripts]
start = "python main.py"
然后,您可以使用以下命令来运行该脚本:
poetry run start
这将执行 python main.py
,而且这个命令将在 Poetry 的虚拟环境中执行。