【学习心得】Python好库推荐——pipx

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

执行上面这个命令就会:

  1. 为 uv 创建一个专属的虚拟环境(通常在 `~/.local/pipx/venvs/uv`)

  2. 安装 uv 及其依赖到该环境中

  3. 在 ~/.local/bin/ 下创建一个 uv 可执行文件的符号链接

  4. 这样就可以在终端直接运行 uv 命令了

三、其他常用 pipx 命令

  • pipx list:列出所有通过 pipx 安装的工具。
  • pipx upgrade uv:升级 uv。
  • pipx uninstall uv:卸载 uv。
  • pipx reinstall-all:重新安装所有已安装的工具(常用于 Python 升级后)。
相关推荐
深紫色的三北六号20 小时前
Linux 服务器磁盘扩容与目录迁移:rsync + bind mount 实现服务无感迁移(无需修改配置)
linux·扩容·服务迁移
花酒锄作田1 天前
使用 pkgutil 实现动态插件系统
python
SudosuBash1 天前
[CS:APP 3e] 关于对 第 12 章 读/写者的一点思考和题解 (作业 12.19,12.20,12.21)
linux·并发·操作系统(os)
前端付豪1 天前
LangChain链 写一篇完美推文?用SequencialChain链接不同的组件
人工智能·python·langchain
曲幽1 天前
FastAPI实战:打造本地文生图接口,ollama+diffusers让AI绘画更听话
python·fastapi·web·cors·diffusers·lcm·ollama·dreamshaper8·txt2img
老赵全栈实战1 天前
Pydantic配置管理最佳实践(一)
python
哈基咪怎么可能是AI1 天前
为什么我就想要「线性历史 + Signed Commits」GitHub 却把我当猴耍 🤬🎙️
linux·github
阿尔的代码屋1 天前
[大模型实战 07] 基于 LlamaIndex ReAct 框架手搓全自动博客监控 Agent
人工智能·python
十日十行2 天前
Linux和window共享文件夹
linux
AI探索者2 天前
LangGraph StateGraph 实战:状态机聊天机器人构建指南
python