核心功能
解决「用 pip 全局装命令行工具导致依赖打架、卸载残留」的问题:每个应用一个独立虚拟环境,命令照样在 PATH 里可直接调用,卸载后不留痕迹。适合经常安装 black、ruff、poetry 这类 Python CLI 工具的开发者。
功能亮点
一应用一环境
每个 CLI 应用有独立虚拟环境,依赖互不冲突,卸载后磁盘上不留残留
免安装直接跑
pipx run 把包下载到临时环境里执行,用完即走,环境最多缓存 14 天
不需要 sudo
以普通用户权限工作,避免 sudo pip install 污染系统 Python
来源不限于 PyPI
可从本地目录、wheel、远程 tarball 或 git 仓库分支/提交哈希直接安装
环境自检与修复
pipx health 检查各环境解释器是否可用,pipx repair 重装损坏的环境
适用场景
• 全局安装 black、ruff、poetry 等 Python 命令行工具而不让依赖互相冲突
• 用 pipx run 临时试用某个命令行工具,不在机器上留下长期安装
• 从 git 分支或 PR 安装某个工具的开发版做验证,测完直接卸载干净
安装配置
bash
macOS: brew install pipx pipx ensurepath Linux(Ubuntu 23.04 及以上): sudo apt update sudo apt install pipx pipx ensurepath Linux(Fedora): sudo dnf install pipx pipx ensurepath Linux(其他发行版,用 pip): python3 -m pip install --user pipx python3 -m pipx ensurepath Windows(Scoop): scoop install pipx pipx ensurepath Windows(pip,需 pip 19.0+): py -m pip install --user pipx .\pipx.exe ensurepath 验证安装: pipx --version 说明:安装 pipx 需要 Python 3.10 或更新版本;执行 pipx ensurepath 后需重开终端使 PATH 生效。
使用方法
bash
pipx install black # 把应用装进隔离环境并暴露命令 pipx run black --version # 在临时环境中直接运行,不做安装 pipx list # 列出已安装的应用及其环境 pipx upgrade black # 升级单个应用 pipx upgrade-all # 升级全部受管应用 pipx uninstall black # 卸载应用及其环境 pipx uninstall-all # 卸载所有受管应用 pipx inject black ipython # 向已有环境注入额外的包 pipx pin black # 固定版本,阻止被升级 pipx reinstall-all # 升级 Python 后重装全部应用 pipx health # 检查各环境解释器是否可用 pipx ensurepath # 把应用目录写入 PATH pipx install git+https://github.com/psf/black.git # 从 git 仓库安装
关键指标
尚未核验对标产品,此处只列本工具自身指标,不做对比结论。
指标pipx
价格免费
开源是
上手难度入门
相关工具
同类工具
优点
- 每个应用独立虚拟环境,工具之间依赖零冲突,卸载不留残留文件
- pipx run 可在临时环境跑最新版应用,省去为一次性使用而安装的麻烦
- 以普通用户权限运行,不需要 sudo pip install 去动系统 Python
- 接受 pip 支持的任意来源,包括本地目录、wheel、远程 zip 和 git URL
缺点
- 只适合安装声明了 console script 入口点的应用,不能用来管理项目的库依赖
- 安装 pipx 自身要求 Python 3.10 及以上
- 在采用 PEP 668 的发行版(Ubuntu 23.04+、Debian 12+、Fedora 38+)上 pip install --user 会报 externally-managed-environment,需改用发行版包或独立虚拟环境