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 环境,典型流程是这样的:
- 去 python.org 下载安装器,记得勾选"Add to PATH"
pip install virtualenv(pip 本身可能还要先升级)- 想装另一个版本?再下载一个安装器,然后研究怎么让两个版本共存
pip install装依赖,看着进度条发呆
每一步都可能出问题,每一步都需要手动操作。
用 hudo 一条命令搞定
hudo 是专为 Windows 设计的开发环境引导工具。安装 uv 只需要:
hudo install uv执行过程:
- 下载 uv 官方安装脚本
- 安装到
X:\hudo\tools\uv\目录 - 自动配置环境变量
UV_PYTHON_INSTALL_DIR、UV_TOOL_DIR、UV_CACHE_DIR - 将 uv 加入用户
PATH
所有 Python 版本、工具、缓存都在 hudo 统一目录下,干净整洁,不污染系统。
安装完成后怎么用
重新打开终端,uv 就可以直接使用了。
安装 Python 版本:
uv python install 3.12
uv python install 3.11
uv python list # 查看已安装版本创建虚拟环境:
mkdir myproject && cd myproject
uv venv # 创建 .venv 虚拟环境
.venv\Scripts\activate # 激活(Windows)安装依赖包:
uv pip install flask
uv pip install -r requirements.txt直接运行脚本(自动处理环境):
uv run script.pyuv 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?一条命令即可:
irm hudo.zexa.cc/install.ps1 | iex