用 uv 管理 Python 环境:比 pip 快 10 倍的现代方案

概述

你还在用 pip install 等半天吗?uv 是用 Rust 写的 Python 包管理器,安装速度比 pip 快 10 到 100 倍。它不仅能装包,还能管理 Python 版本、创建虚拟环境、解析依赖。一条命令搞定所有事情。

本文教你在 Ubuntu/Debian VPS 或 macOS 上安装并配置 uv,让你的 Python 开发效率翻倍。

准备工作

你需要以下条件:

  • 一台 Linux VPS(推荐 Ubuntu 22.04+ 或 Debian 12+)或 macOS
  • 终端访问权限(SSH 登录)
  • 约 5MB 磁盘空间
  • 网络连接(首次安装需要下载)

步骤

第一步:安装 uv

打开终端,执行以下命令一键安装:

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

安装完成后,让终端识别 uv 命令:

source $HOME/.local/bin/env

验证安装是否成功:

uv --version

看到类似 uv 0.5.x 的输出就说明装好了。

第二步:初始化一个 Python 项目

进入你想工作的目录,创建一个新项目文件夹:

mkdir ~/my-uv-project
cd ~/my-uv-project

用 uv 初始化项目并指定 Python 版本:

uv init --python 3.12

这会自动创建 pyproject.toml 文件,这是 uv 的核心配置文件。

第三步:添加依赖包

假设你要用 FastAPI 写个接口:

uv add fastapi uvicorn[standard]

注意方括号里的内容,表示额外安装 uvicorn 的 standard 可选依赖。uv 会瞬间完成解析和安装。

如果你想用 pandas 做数据分析:

uv add pandas numpy

对比 pip,这条命令以前可能要等几十秒甚至几分钟。uv 基本是秒级完成。

第四步:运行项目

直接运行脚本:

uv run python main.py

或者启动一个交互式 Python 环境:

uv python repl

在 repl 里你可以直接测试代码,不用手动激活虚拟环境。

第五步:管理多个 Python 版本

有时候项目 A 需要 Python 3.10,项目 B 需要 Python 3.12。uv 可以帮你管理:

# 查看所有已安装的 Python 版本
uv python list

# 安装特定版本(自动下载)
uv python install 3.10

# 为项目指定版本
uv init --python 3.10

uv 会把不同版本的 Python 存在自己的目录里,不会污染系统 Python。

第六步:创建和管理虚拟环境

虽然 uv 有自己的虚拟环境机制,但你也可以手动创建:

# 创建虚拟环境
uv venv .venv

# 激活虚拟环境
source .venv/bin/activate

# 在虚拟环境里安装包
uv pip install requests

退出虚拟环境用 deactivate,和传统方式一样。

验证

完成安装后,跑几个检查确认一切正常:

# 检查 uv 版本
uv --version

# 检查已安装的 Python 解释器
uv python list

# 检查项目依赖
uv tree

# 快速测试:创建一个临时环境运行一段代码
uv run python -c "import fastapi; print('fastapi 版本:', fastapi.__version__)"

如果最后一条命令输出了 fastapi 的版本号,说明整个流程都通了。

常见问题

问:uv 和 pip 能一起用吗?

答:可以。uv 兼容 pip 的命令格式,uv pip install 的行为和 pip 几乎一样。但推荐直接用 uv add,更简洁。

问:卸载 uv 怎么操作?

uv self uninstall

一条命令清理干净。

问:公司内网没有外网怎么办?

先在有网络的机器上下载 uv 的二进制文件,拷贝到目标机器:

# 有网络的机器上下载
curl -LsSf https://astral.sh/uv/install.sh | sh

# 拷贝二进制文件到目标机器
scp ~/.local/bin/uv user@server:~/.local/bin/

问:uv 支持 Windows 吗?

支持。Windows 上用 PowerShell 执行:

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

问:为什么我的 uv add 报错?

检查 pyproject.toml 是否存在。如果没有,先运行 uv init 初始化项目。


uv 是目前 Python 生态里最值得尝试的工具之一。装上它之后,你可能再也不想回到 pip 时代了。试试在你的下一个项目里用 uv,感受一下速度差异。

你的 Python 环境管理有没有什么痛点?评论区聊聊。

这篇文章对你有帮助吗?