简介

简介 #

Poetry 是一个用于 Python 中 **依赖项管理** 和 **打包** 的工具。它允许您声明项目所依赖的库,并为您管理(安装/更新)它们。Poetry 提供了一个锁定文件以确保可重复的安装,并且可以构建您的项目以进行分发。

系统要求 #

Poetry 需要 **Python 3.8+**。它是跨平台的,目标是在 Linux、macOS 和 Windows 上都能很好地运行。

安装 #

警告
Poetry 应该始终安装在专用虚拟环境中,以将其与系统中的其他部分隔离开来。它绝不应该安装在要由 Poetry 管理的项目的环境中。这确保了 Poetry 自己的依赖项不会意外升级或卸载。(以下每种安装方法都确保 Poetry 安装在隔离的环境中。)此外,安装 Poetry 的隔离虚拟环境不应激活以运行 Poetry 命令。
注意
如果您正在查看开发分支的文档,您可能希望安装 Poetry 的预览版或开发版。请参阅 **高级** 安装说明以使用 Poetry 的预览版或备用版本。

pipx 用于全局安装 Python CLI 应用程序,同时仍将其隔离在虚拟环境中。pipx 将在用于安装 Poetry 时管理升级和卸载。

  1. 安装 pipx

    如果 pipx 尚未安装,您可以按照 官方 pipx 安装说明 中的任何选项进行操作。任何非古代版本的 pipx 都可以。

  2. 安装 Poetry

    pipx install poetry
    
  3. 安装 Poetry(高级)

    注意
    如果您只是想要最新版本并且已经按照上一步的说明安装了 Poetry,则可以跳过此步骤。此步骤详细介绍了此安装方法的高级用法。例如,从源代码安装 Poetry、同时安装多个版本等。

    pipx 可以使用与 pip 相同的语法安装不同版本的 Poetry

    pipx install poetry==1.2.0
    

    pipx 还可以并行安装 Poetry 的版本,这使得轻松测试备用版本或预发布版本成为可能。每个版本都将获得一个唯一的用户指定的后缀,该后缀将用于创建唯一的二进制名称

    pipx install --suffix=@1.2.0 poetry==1.2.0
    poetry@1.2.0 --version
    
    pipx install --suffix=@preview --pip-args=--pre poetry
    poetry@preview --version
    

    最后,pipx 可以安装任何有效的 pip 需求规范,这允许从 git 安装开发版本,甚至用于本地测试拉取请求

    pipx install --suffix @main git+https://github.com/python-poetry/poetry.git@main
    pipx install --suffix @pr1234 git+https://github.com/python-poetry/poetry.git@refs/pull/1234/head
    
  4. 更新 Poetry

    pipx upgrade poetry
    
  5. 卸载 Poetry

    pipx uninstall poetry
    

为 Bash、Fish 或 Zsh 启用制表符补全 #

poetry 支持为 Bash、Fish 和 Zsh 生成补全脚本。有关完整详细信息,请参阅 poetry help completions,但要点与使用以下之一一样简单

Bash #

poetry completions bash >> ~/.bash_completion

延迟加载 #

poetry completions bash > ${XDG_DATA_HOME:-~/.local/share}/bash-completion/completions/poetry

Fish #

poetry completions fish > ~/.config/fish/completions/poetry.fish

Zsh #

poetry completions zsh > ~/.zfunc/_poetry

然后,您必须在 ~/.zshrc 中添加以下行,如果它们不存在。

fpath+=~/.zfunc
autoload -Uz compinit && compinit

Oh My Zsh #

mkdir $ZSH_CUSTOM/plugins/poetry
poetry completions zsh > $ZSH_CUSTOM/plugins/poetry/_poetry

然后,您必须在 ~/.zshrc 中的插件数组中添加 poetry

plugins(
	poetry
	...
	)

prezto #

poetry completions zsh > ~/.zprezto/modules/completion/external/src/_poetry
注意
您可能需要重新启动 shell 才能使这些更改生效。