python uv 包管理安装与管理

uv 中文文档:https://uv.doczh.com/getting-started/installation/

github 项目地址:https://github.com/astral-sh/uv

什么是 UV?

UV 是一款新型的 Python 包管理工具,具备以下特点:

  • 🚀 一个工具替代 pippip-toolspipxpoetrypyenvtwinevirtualenv
  • ⚡️ 比 <font style="background-color:rgb(245, 245, 245);">pip 快 10-100 倍
  • 🗂️ 提供全面的项目管理功能,包含通用锁文件
  • ❇️ 运行脚本,支持内联依赖元数据
  • 🐍 安装和管理 Python 版本
  • 🛠️ 运行和安装 以 Python 包形式发布的工具
  • 🔩 包含 pip 兼容接口,在熟悉 CLI 的同时获得性能提升
  • 🏢 支持 Cargo 风格的工作区用于可扩展项目
  • 💾 磁盘空间高效,通过全局缓存实现依赖去重
  • ⏬ 无需 Rust 或 Python 即可通过 curlpip 安装
  • 🖥️ 支持 macOS、Linux 和 Windows

安装UV

独立安装程序

使用独立安装脚本(推荐方式):通过 curl 下载并执行安装脚本(适用于 macOS / Linux):

curl -LsSf https://astral.sh/uv/install.sh | sh

UV 已被收录至 Homebrew 核心软件库,亦可使用以下命令安装:

brew install uv

Windows 用户:使用 PowerShell 安装(需管理员权限):

powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"

PyPI

如果从 PyPI 安装,建议将 uv 安装到隔离环境中,例如使用 pipx

pipx install uv

当然,也可以使用 pip

pip install uv

通过 pip 安装方式的 uv,安装的二进制文件放在<PythonHome>/bin/目录里。

GitHub Releases

uv 的发布文件可直接从 GitHub Releases 下载。

每个发布页面都包含所有支持平台的二进制文件,以及通过 github.com(而非 astral.sh)使用独立安装程序的说明。

升级 uv

当 uv 通过独立安装程序安装时,它可以按需自我更新:

uv self update

更新 uv 会重新运行安装程序,并可能修改你的 shell 配置文件。要禁用此行为,请设置 INSTALLER_NO_MODIFY_PATH=1

当使用其他安装方法时,自我更新功能会被禁用。请改用包管理器的升级方法。例如,使用 pip

pip install --upgrade uv

Shell 自动补全

要为 uv 命令启用 shell 自动补全,运行以下对应命令(以 Bash 为例):

echo 'eval "$(uv generate-shell-completion bash)"' >> ~/.bashrc

要为 uvx 启用 shell 自动补全,运行以下对应命令(以 Bash 为例):

echo 'eval "$(uvx --generate-shell-completion bash)"' >> ~/.bashrc

完成后请重启 shell 或重新加载 shell 配置文件。

卸载

如需从系统中移除 uv,请按照以下步骤操作:

  1. 清理存储的数据(可选):
uv cache clean
rm -r "$(uv python dir)"
rm -r "$(uv tool dir)"

Tip:在删除二进制文件前,您可能需要先移除 uv 存储的所有数据。

  1. 删除 uv 和 uvx 二进制文件:

macOS 和 Linux:

rm ~/.local/bin/uv ~/.local/bin/uvx

windows:

$ rm $HOME\.local\bin\uv.exe
$ rm $HOME\.local\bin\uvx.exe

在 0.5.0 版本之前,uv 被安装在 ~/.cargo/bin 目录。如需卸载,可以从该目录删除二进制文件。从旧版本升级不会自动移除 ~/.cargo/bin 中的二进制文件。