Skip to content

Poetry 命令无法找到的解决方法

本文针对在不同操作系统下遇到 poetry: command not found 错误提供全面的解决方案。

问题概述

当您在终端中输入 poetry 命令时,系统返回 command not found 错误,这意味着系统无法找到 Poetry 的可执行文件。这通常是由于环境变量 PATH 中没有正确包含 Poetry 的安装路径所致。

在不同的操作系统和 shell 环境下,Poetry 的安装路径和配置方法有所不同。以下是针对各种情况的解决方案。

通用解决方法

方法1:临时添加 PATH(测试用)

在终端中运行以下命令可以临时解决:

bash
export PATH="$HOME/.local/bin:$PATH"

注意

这种方法只在当前终端会话有效,关闭终端后需要重新执行。

方法2:永久添加 PATH

根据您使用的 shell,将 Poetry 路径添加到对应的配置文件中:

对于 bash 用户:

bash
echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.bashrc
source ~/.bashrc

对于 zsh 用户:

bash
echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.zshrc
source ~/.zshrc

对于 macOS 用户(确保 .zshrc 存在):

bash
touch ~/.zshrc  # 如果文件不存在则创建
echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.zshrc
source ~/.zshrc

Windows 系统解决方案

方法1:使用官方安装程序

PowerShell 中运行:

powershell
(Invoke-WebRequest -Uri https://install.python-poetry.org -UseBasicParsing).Content | python -

安装完成后,Poetry 会提示您需要添加的路径,通常是:

%APPDATA%\Python\Scripts

方法2:手动添加环境变量

  1. Win + R,输入 sysdm.cpl 打开系统属性
  2. 点击"环境变量"
  3. 在"用户变量"中找到并编辑 Path
  4. 添加新路径:%APPDATA%\Python\Scripts
  5. 重启终端或计算机

方法3:使用 pipx 安装(推荐)

powershell
# 先安装 pipx
python -m pip install --user pipx
python -m pipx ensurepath

# 使用 pipx 安装 poetry
pipx install poetry

macOS 系统解决方案

方法1:使用 Homebrew 安装

bash
brew install poetry

Homebrew 会自动处理路径配置,这是最简单的方法。

方法2:手动配置

如果使用官方安装脚本:

bash
curl -sSL https://install.python-poetry.org | python3 -

然后手动添加到 zsh 配置:

bash
echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.zshrc
source ~/.zshrc

Linux/WSL 解决方案

方法1:标准安装

bash
curl -sSL https://install.python-poetry.org | python3 -

安装后按照提示添加路径到 .bashrc.zshrc

bash
echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.bashrc
source ~/.bashrc

方法2:检查安装位置

使用 which 命令查找 poetry 安装位置:

bash
which poetry

然后将找到的路径添加到环境变量中。

验证安装

安装并配置完成后,验证 Poetry 是否正常工作:

bash
poetry --version

如果显示 Poetry 的版本号,说明安装成功。

常见问题排查

1. 安装了但仍然找不到命令

确保已正确执行 source 命令使配置生效,或重启终端。

2. 多版本 Python 冲突

如果您安装了多个 Python 版本,确保使用正确的 pip 安装 Poetry:

bash
python3 -m pip install --user poetry

3. 安装插件(Poetry 2.0.0+)

从 Poetry 2.0.0 开始,shell 功能变成了插件,可能需要额外安装:

bash
poetry self add poetry-plugin-shell

结论

poetry: command not found 问题通常是由于 PATH 环境变量未正确配置导致的。通过将 Poetry 的安装路径添加到对应的 shell 配置文件中,可以永久解决这个问题。

推荐做法

  • Windows 用户:使用 pipx 安装 Poetry
  • macOS 用户:使用 Homebrew 安装 Poetry
  • Linux/WSL 用户:使用官方脚本安装并手动配置 PATH

按照上述方法操作后,Poetry 应该能在系统重启后仍然可用。如果问题仍然存在,请检查您的 shell 配置文件和 Poetry 的实际安装路径。