Skip to content

pip 太慢?uv 一键管理 Python 版本和虚拟环境

在 Windows 上搞 Python 开发,环境问题往往比写代码还头疼。

Python 环境的混乱现状

pip 慢得离谱: pip install 一个稍大的包,进度条半天不动。装个 PyTorch 或数据科学全家桶,等十几分钟是常态。

工具碎片化: 管理 Python 版本要用 pyenv-win,创建虚拟环境要用 virtualenv 或 venv,装包用 pip,锁定依赖用 pip-freeze 或 pipenv 或 poetry。每个工具一套命令,每个都有自己的坑。

多版本共存混乱: 从 python.org 装了 3.10,微软商店又装了 3.11,Anaconda 带了 3.9。终端里输入 python,到底调用的是哪个?PATH 顺序决定一切,但没人说得清自己的 PATH 里藏了几个 Python。

这些问题的本质是:Python 生态缺少一个"全能型"工具把版本管理、虚拟环境和包安装统一起来。

uv 是什么

uv 是 Astral 团队(Ruff 的开发者)用 Rust 编写的 Python 包管理器和项目管理工具。它做到了一件事:用一个命令行工具替代 pip、virtualenv、pyenv 和 pipx 的全部功能。

核心优势:

  • 极快: 比 pip 快 10-100 倍,冷缓存下也能做到数倍提升
  • 版本管理内置: uv python install 3.12 直接下载安装指定版本的 Python
  • 虚拟环境内置: uv venv 创建虚拟环境,无需额外安装 virtualenv
  • 兼容 pip: uv pip install 语法几乎与 pip 一致,迁移零成本

传统方式有多麻烦

手动在 Windows 上搭 Python 环境,典型流程是这样的:

  1. 去 python.org 下载安装器,记得勾选"Add to PATH"
  2. pip install virtualenv(pip 本身可能还要先升级)
  3. 想装另一个版本?再下载一个安装器,然后研究怎么让两个版本共存
  4. pip install 装依赖,看着进度条发呆

每一步都可能出问题,每一步都需要手动操作。

用 hudo 一条命令搞定

hudo 是专为 Windows 设计的开发环境引导工具。安装 uv 只需要:

powershell
hudo install uv

执行过程:

  1. 下载 uv 官方安装脚本
  2. 安装到 X:\hudo\tools\uv\ 目录
  3. 自动配置环境变量 UV_PYTHON_INSTALL_DIRUV_TOOL_DIRUV_CACHE_DIR
  4. 将 uv 加入用户 PATH

所有 Python 版本、工具、缓存都在 hudo 统一目录下,干净整洁,不污染系统。

安装完成后怎么用

重新打开终端,uv 就可以直接使用了。

安装 Python 版本:

bash
uv python install 3.12
uv python install 3.11
uv python list  # 查看已安装版本

创建虚拟环境:

bash
mkdir myproject && cd myproject
uv venv                    # 创建 .venv 虚拟环境
.venv\Scripts\activate     # 激活(Windows)

安装依赖包:

bash
uv pip install flask
uv pip install -r requirements.txt

直接运行脚本(自动处理环境):

bash
uv run script.py

uv run 会自动创建虚拟环境、安装依赖、执行脚本,一步到位。

到底快多少

Astral 官方基准测试显示 uv 比 pip 快 10-100 倍。实际体验中,差距在有缓存时最明显——pip 需要重新解析依赖树,uv 几乎瞬间完成。即使冷缓存首次安装,uv 的并行下载和 Rust 原生解析也能带来数倍的速度提升。

一个直观的例子:pip install flask 需要几秒到十几秒,uv pip install flask 通常在一秒内完成。当项目依赖几十个包时,差距会被放大到分钟级别。

总结

Python 环境管理不需要同时学 pyenv、virtualenv、pip、pipx 四个工具。uv 一个就够了——装 Python、建虚拟环境、装包、跑脚本,全部覆盖,而且快得多。

在 Windows 上,配合 hudo 使用,一条命令完成安装和环境变量配置,打开终端就能用。

还没安装 hudo?一条命令即可:

powershell
irm hudo.zexa.cc/install.ps1 | iex

基于 MIT 协议发布