pipx
用于全局安装 Python CLI 应用程序,同时仍将其隔离在虚拟环境中。pipx
将在用于安装 Poetry 时管理升级和卸载。
-
安装 pipx
如果 pipx
尚未安装,您可以按照 官方 pipx 安装说明 中的任何选项进行操作。任何非古代版本的 pipx
都可以。
-
安装 Poetry
-
安装 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
-
更新 Poetry
-
卸载 Poetry
我们提供一个自定义安装程序,它将在新的虚拟环境中安装 Poetry,并允许 Poetry 管理自己的环境。
-
安装 Poetry
安装脚本可直接从 install.python-poetry.org 获取,并在 其自己的存储库 中开发。该脚本可以直接执行(例如“curl python”)或下载后从磁盘执行(例如在 CI 环境中)。
警告
install-poetry.py
安装程序已弃用并从 Poetry 存储库中删除。请从树内版本迁移到上面描述的独立版本。
Linux、macOS、Windows (WSL)
curl -sSL https://install.python-poetry.org | python3 -
注意
注意:在某些系统上,python
可能仍然是指 Python 2 而不是 Python 3。我们始终建议使用 python3
二进制文件以避免歧义。
Windows (Powershell)
(Invoke-WebRequest -Uri https://install.python-poetry.org -UseBasicParsing).Content | py -
注意
如果您通过 Microsoft Store 安装了 Python,请在上面的命令中将 py
替换为 python
。
-
安装 Poetry(高级)
注意
如果您只需要最新版本并且已经按照上一步的说明安装了 Poetry,则可以跳过此步骤。此步骤详细介绍了此安装方法的高级用法。例如,从源代码安装 Poetry、使用预发布版本、配置不同的安装位置等。
默认情况下,Poetry 安装到平台和用户特定的目录中
~/Library/Application Support/pypoetry
在 MacOS 上。
~/.local/share/pypoetry
在 Linux/Unix 上。
%APPDATA%\pypoetry
在 Windows 上。
如果您希望更改此设置,可以定义 $POETRY_HOME
环境变量
curl -sSL https://install.python-poetry.org | POETRY_HOME=/etc/poetry python3 -
如果您想安装预发布版本,可以通过将 --preview
选项传递给安装脚本或使用 $POETRY_PREVIEW
环境变量来实现。
curl -sSL https://install.python-poetry.org | python3 - --preview
curl -sSL https://install.python-poetry.org | POETRY_PREVIEW=1 python3 -
类似地,如果您想安装特定版本,可以使用 --version
选项或 $POETRY_VERSION
环境变量。
curl -sSL https://install.python-poetry.org | python3 - --version 1.2.0
curl -sSL https://install.python-poetry.org | POETRY_VERSION=1.2.0 python3 -
您还可以使用 --git
选项从 git
存储库安装 Poetry。
curl -sSL https://install.python-poetry.org | python3 - --git https://github.com/python-poetry/poetry.git@main
如果您想并行安装不同版本的 Poetry,一个好方法是使用 pipx 和后缀进行安装。
-
将 Poetry 添加到您的 PATH
安装程序在众所周知的平台特定目录中创建一个 poetry
包装器
$HOME/.local/bin
在 Unix 上。
%APPDATA%\Python\Scripts
在 Windows 上。
$POETRY_HOME/bin
如果设置了 $POETRY_HOME
。
如果您的 $PATH
中不存在此目录,您可以将其添加进去,以便将 Poetry 作为 poetry
调用。
或者,始终可以使用 poetry
二进制文件的完整路径
~/Library/Application Support/pypoetry/venv/bin/poetry
在 MacOS 上。
~/.local/share/pypoetry/venv/bin/poetry
在 Linux/Unix 上。
%APPDATA%\pypoetry\venv\Scripts\poetry
在 Windows 上。
$POETRY_HOME/venv/bin/poetry
如果设置了 $POETRY_HOME
。
-
使用 Poetry
一旦 Poetry 安装完成并位于您的 $PATH
中,您就可以执行以下操作
如果您看到类似 Poetry (version 1.2.0)
的内容,则您的安装已准备就绪!
-
更新 Poetry
使用官方安装程序安装的 Poetry 能够自我更新。
警告
特别是在 Windows 上,self update
可能存在问题,因此建议使用安装程序重新安装。
如果您想安装预发布版本,可以使用 --preview
选项。
poetry self update --preview
最后,如果您想安装特定版本,可以将其作为参数传递给 self update
。
警告
Poetry
1.1
系列版本无法就地更新到
1.2
或更新的系列版本。要迁移到更新的版本,请使用原始安装方法卸载,然后使用
上面的方法 重新安装。
-
卸载 Poetry
如果您决定 Poetry 不适合您,可以通过再次运行安装程序并使用 --uninstall
选项或在执行安装程序之前设置 POETRY_UNINSTALL
环境变量来将其从系统中完全删除。
curl -sSL https://install.python-poetry.org | python3 - --uninstall
curl -sSL https://install.python-poetry.org | POETRY_UNINSTALL=1 python3 -
警告
如果您使用已弃用的 get-poetry.py
脚本安装,则应手动删除它使用的路径,例如
rm -rf "${POETRY_HOME:-~/.poetry}"
如果存在,请从您的 shell 配置中的 $PATH
中删除 ~/.poetry/bin
。
可以使用 pip
和 venv
模块手动安装 Poetry。这样做实际上将执行官方安装程序执行的步骤。由于这是一种高级安装方法,因此这些说明仅限于 Unix,并且省略了特定示例,例如从 git
安装。
变量 $VENV_PATH
将用于指示创建虚拟环境的路径。
python3 -m venv $VENV_PATH
$VENV_PATH/bin/pip install -U pip setuptools
$VENV_PATH/bin/pip install poetry
Poetry 将在 $VENV_PATH/bin/poetry
中可用,可以直接调用或链接到其他位置。
要卸载 Poetry,只需删除整个 $VENV_PATH
目录。
与开发环境不同,开发环境希望使用最新的工具,在 CI 环境中,应优先考虑可重复性。以下是一些在 CI 环境中安装 Poetry 的建议。
版本固定
无论您使用哪种方法,都强烈建议明确控制使用的 Poetry 版本,以便您能够在执行自己的验证后进行升级。每种安装方法都有不同的语法来设置以下示例中使用的版本。
使用 pipx
正如 pipx
是开发用途的强大工具一样,它在 CI 环境中同样有用,应该是您在 CI 中使用 Poetry 的首选之一。
pipx install poetry==1.2.0
使用 install.python-poetry.org
强烈建议将安装脚本的副本下载到 CI 管道可访问的位置(或维护 存储库 的副本),以确保管道稳定并控制执行的代码。
默认情况下,安装程序将安装到用户特定的目录中。在更复杂的管道中,访问 Poetry 可能很困难(尤其是在多阶段容器构建等情况下)。强烈建议在 CI 中使用官方安装程序时使用 $POETRY_HOME
,因为这样可以控制确切的路径。
export POETRY_HOME=/opt/poetry
python3 install-poetry.py --version 1.2.0
$POETRY_HOME/bin/poetry --version
使用 pip(也称为手动)
为了在 CI 环境中获得最大控制,使用 pip
安装是完全支持的,您应该考虑使用它。虽然这需要您使用更明确的命令和 Python 打包知识,但它反过来提供了最佳的调试体验,并且使您不受太多外部工具的影响。
export POETRY_HOME=/opt/poetry
python3 -m venv $POETRY_HOME
$POETRY_HOME/bin/pip install poetry==1.2.0
$POETRY_HOME/bin/poetry --version
注意
如果您通过 pip
安装 Poetry,请确保将 Poetry 安装到与 Poetry 管理的目标环境不同的隔离环境中。如果 Poetry 和您的项目安装到同一个环境中,Poetry 可能会升级或卸载自己的依赖项(导致难以调试和理解的错误)。