pipx一个隔离安装并运行 Python 命令行工具的工具
文章目录
🧩 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 会:
- 创建独立虚拟环境
- 安装 httpie
- 把 http 命令自动放到 PATH
- 你就能直接在命令行使用:
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 合体
负责“项目级依赖、环境、脚本、构建”。
更多推荐


所有评论(0)