Poetry 是一个现代的 Python 依赖和虚拟环境管理工具,集项目初始化、依赖管理、虚拟环境自动化、打包与发布于一体,极大简化了 Python 项目的开发流程

Poetry 需要 Python 2.7 或者 3.5+。

安装

推荐直接全局安装

pip install poetry

安装完成之后即可使用 poetry 命令,也可以参考使用官方的安装脚本(推荐使用 pip 安装):

curl -sSL https://raw.githubusercontent.com/python-poetry/poetry/master/get-poetry.py | python -

安装成功后执行 poetry --version 可以获取 Poetry 的版本,证明安装成功。

zsh 自动补全,因为我使用 zinit 所以直接:

poetry completions zsh > ~/.zinit/completions/_poetry

需要重启终端才能生效,可以使用 TAB 自动补全。

其他终端的配置可以参考官网。

使用

初始化新项目

可以通过如下方法初始化:

poetry new poetry-demo

初始化已经存在的项目

如果项目已经存在,可以使用 init

cd pre-existing-project
poetry init

该命令会引导用户输入项目名,作者,依赖等等,并生成核心配置文件 pyproject.toml

Poetry 会自动为每个项目创建独立虚拟环境,不需要手动操作。

poetry env use python3.12

进入 Shell,自动激活环境:

poetry shell

退出直接使用 exit

添加依赖

可以通过如下的方式添加依赖,会自动安装到虚拟环境并写入 pyproject.toml 配置

poetry add requests

只添加开发依赖

poetry add --dev pytest

移除

poetry remove requests

列出依赖树

poetry show --tree

项目环境安装

一键安装项目全部依赖

poetry install

在虚拟环境中运行Python脚本

poetry run python path/to/script.py

导出标准 pip 格式依赖清单

可以导出到 requirements.txt

poetry export -f requirements.txt --output requirements.txt