pipx是一个用于安装和运行 Python 命令行工具(CLI 工具)的工具。它的主要目的是将每个 Python 应用程序安装在独立的虚拟环境中,从而避免不同工具之间的依赖冲突,并确保这些工具可以像系统命令一样直接运行。
一、为什么使用 pipx
当你用普通的 pip install 安装一个命令行工具(比如 black、poetry 或 uv)时,它会被安装到当前 Python 环境中(可能是全局环境,也可能是某个虚拟环境)。这可能会导致:
- 依赖冲突:不同工具可能依赖同一个包的不同版本。
- 污染环境:全局安装会让系统 Python 环境变得混乱。
- 难以管理:卸载或升级某个工具可能影响其他工具。
而 pipx 解决了这些问题,每个工具都安装在自己的隔离虚拟环境中。自动将工具的可执行命令添加到你的 $PATH 中,可以直接在终端运行。安装、升级、卸载都非常简单。
二、安装 pipx
bash
pip install pipx
pipx ensurepath # 自动配置 PATH
【注】确保 ~/.local/bin(Linux/macOS)或 %APPDATA%\Python\Scripts(Windows)在你的 PATH 环境变量中。
二、使用 pipx 安装 uv 的例子
bash
pipx install uv
执行上面这个命令就会:
-
为 uv 创建一个专属的虚拟环境(通常在 `~/.local/pipx/venvs/uv`)
-
安装 uv 及其依赖到该环境中
-
在 ~/.local/bin/ 下创建一个 uv 可执行文件的符号链接
-
这样就可以在终端直接运行 uv 命令了
三、其他常用 pipx 命令
- pipx list:列出所有通过 pipx 安装的工具。
- pipx upgrade uv:升级 uv。
- pipx uninstall uv:卸载 uv。
- pipx reinstall-all:重新安装所有已安装的工具(常用于 Python 升级后)。