🧩 pipx 是什么?

官网
一句话概括:

pipx = 用于“隔离安装并运行 Python 命令行工具(CLI 工具)”的工具。

它大致类似 macOS 的 brew、JavaScript 的 npx 和 Linux 的 apt。

比如:

工具 用来做什么
poetry 包管理、项目管理
uvicorn FastAPI 服务器
httpie HTTP 调试
ruff Python lint
black 格式化
cookiecutter 创建项目模板
pyright Python 类型检查

这些都是 CLI 工具,不是你项目的依赖。

pipx 的目标是:

👉 用隔离的虚拟环境安装 CLI 工具,不污染全局、不混乱版本。


📌 那 pipx 做了什么?

比如你执行:

pipx install httpie

pipx 会:

  1. 创建独立虚拟环境
  2. 安装 httpie
  3. 把 http 命令自动放到 PATH
  4. 你就能直接在命令行使用:
http get https://example.com

🏆 pipx + Poetry = Python 最强组合

很多专业开发者的环境是:

pipx install poetry
pipx install ruff
pipx install black
pipx install pyright

然后项目内用:

poetry add fastapi langchain

🤔 那我需要 pipx 吗?

强烈建议你使用 pipx

理由:

  • 你一定会用到 Poetry(推荐 pipx 装)
  • 你会需要 lint、formatter 工具(ruff/black)
  • 你未来会装不少开发工具(cookiecutter、pyright)
  • pipx 可以保持系统环境干净不污染

pipx 是“提升 Python 开发体验的神器”。


🚀 如何安装 pipx?

python3 -m pip install pipx

或者

brew install pipx
pipx ensurepath
sudo pipx ensurepath --global # optional to allow pipx actions with --global argument

如果你没有 pipx ensurepath,安装包时会出现以下报错

➜  pipx install poetry
  installed package poetry 2.2.1, installed using Python 3.14.2
  These apps are now globally available
    - poetry
⚠️  Note: '/Users/zhangyu/.local/bin' is not on your PATH environment variable. These apps will not be globally accessible until your PATH is updated. Run `pipx ensurepath` to automatically add it, or manually modify your PATH in your shell's config file (e.g.
    ~/.bashrc).
done! ✨ 🌟 ✨
➜  poetry --version
zsh: command not found: poetry

报错的原因是 你虽然装了 poetry,但命令行找不到它,因为 PATH 不包含这个目录。解决方案两个:
1、直接执行 pipx ensurepath 进行修复
2、编辑 ~/.zshrc,并把 export PATH="$HOME/.local/bin:$PATH" 加入,然后 source 一下,因为 pipx安装的包的启动命令就在 ~/.local/bin

如果你选择方式1,执行 pipx ensurepath 后会发现在你的 ~/.zshrc 里加了一行代码如下

# Created by `pipx` on 2025-12-09 07:37:12
export PATH="$PATH:/Users/zhangyu/.local/bin"

最后 source 一下 source ~/.zshrc

测试:

pipx list
poetry --version

🚀 pipx 常用命令

1. 安装一个 CLI 工具

pipx install package-name

示例:

pipx install poetry
pipx install httpie
pipx install ruff

安装后通常会自动把命令链接到你的 PATH。


2. 运行一个未安装的 CLI(临时运行)

相当于 Node 的 npx

pipx run package-name

例:

pipx run cowsay "hello pipx"

3. 运行工具并传参

pipx run black --version

你可以直接运行 Python 包,而不安装。


4. 升级某个工具

pipx upgrade package-name

升级全部:

pipx upgrade-all

5. 卸载工具

pipx uninstall package-name

6. 查看当前 pipx 安装了哪些工具

pipx list

会显示每个工具的路径、虚拟环境路径、暴露出的命令。


7. 重新把工具加入 PATH(一般自动加)

如果提示 PATH 没设置好:

pipx ensurepath

8. 向已经安装的工具的虚拟环境中安装额外包

pipx inject package-name extra-pkg

例:给 Jupyter Notebook 注入 LangChain:

pipx inject jupyter langchain

📂 pipx 的安装目录(很重要)

默认安装目录(跨平台)

🔹 工具本体(虚拟环境)

~/.local/pipx/venvs/<package>/

🔹 工具的可执行命令(会加入 PATH)

~/.local/bin/

所以你安装的 CLI 工具,比如:

black
poetry
uvicorn
fastapi

实际上都链接到了:

~/.local/bin/

查看 pipx 配置命令

pipx environment

会显示:

PIPX_HOME=~/.local/pipx
PIPX_BIN_DIR=~/.local/bin

如果你想自定义,也可以设置:

export PIPX_HOME="~/apps/pipx"
export PIPX_BIN_DIR="~/bin"

pipx 和 poetry 的区别

pipx:

JS 的 npx + npm install -g 的超增强版
用来安装“命令行工具”,不进入项目环境里。

poetry:

JS 的 npm + node + nvm+ package.json + node_modules 合体
负责“项目级依赖、环境、脚本、构建”。

Logo

Agent 垂直技术社区,欢迎活跃、内容共建。

更多推荐