uv 安装多个 Python 版本与使用方法
适用于:Ubuntu / Linux / macOS / Windows 本文环境:Ubuntu 20.04 Python 版本:3.8 ~ 3.13
一、uv 是什么?为什么要用 uv?
uv 是 Astral(ruff 作者)推出的新一代 Python 工具,目标是 统一并替代 现有的 Python 工具链。
一句话总结:
uv = pyenv + venv + pip 的高速合体版
uv 是 Astral 推出的新一代 Python 工具,旨在统一并替代现有工具链。支持快速安装多个 Python 版本,无需依赖系统 Python。可创建和管理虚拟环境,完全替代 pip 进行依赖管理。相比 pyenv、venv 和 pip 的组合,uv 具有 Rust 编写的高性能优势,且为单一二进制文件。适合新项目开发及多版本并行场景,IDE 兼容性好。
适用于:Ubuntu / Linux / macOS / Windows 本文环境:Ubuntu 20.04 Python 版本:3.8 ~ 3.13
uv 是 Astral(ruff 作者)推出的新一代 Python 工具,目标是 统一并替代 现有的 Python 工具链。
一句话总结:
uv = pyenv + venv + pip 的高速合体版
curl -LsSf https://astral.sh/uv/install.sh | sh
安装完成后重新加载环境变量:
source ~/.bashrc
验证是否安装成功:
uv --version
cargo install uv
uv python list
示例输出:
3.8.18 3.9.19 3.10.14 3.11.9 3.12.3 3.13.0
uv python install 3.12
uv python install 3.10
uv python install 3.11
uv python install 3.13
⚠️ 不会覆盖系统自带 Python
uv python list --installed
~/.local/share/uv/python/
每个 Python 版本都是完全独立的目录,互不干扰。
cd your_project
uv venv
默认行为:
.venv 目录uv venv --python=3.12 .venv
uv venv --python=3.10 .venv
📌 推荐统一使用 .venv 作为虚拟环境目录名
source .venv/bin/activate
出现:
(.venv)
表示激活成功。
deactivate
uv pip install requests flask
uv pip install -r requirements.txt
uv pip list
uv pip freeze > requirements.txt
mkdir my_project
cd my_project
# 创建 Python 3.12 虚拟环境
uv venv --python=3.12 .venv
# 激活环境
source .venv/bin/activate
# 安装依赖
uv pip install fastapi uvicorn
# 运行程序
python main.py
uv run python script.py
或指定 Python 版本:
uv run --python=3.12 python script.py
uvx black .
uvx ruff check .
uvx pytest
特点:
| 功能 | uv | pyenv | venv |
|---|---|---|---|
| 安装 Python | ✅ | ✅ | ❌ |
| 虚拟环境 | ✅ | ❌ | ✅ |
| pip 管理 | ✅ | ❌ | ❌ |
| 速度 | 🚀🚀🚀 | 慢 | 中 |
| 单工具 | ✅ | ❌ | ❌ |
✅ 新项目强烈推荐直接使用 uv
手动指定:
项目目录/.venv/bin/python
确认 Python 是否已安装:
uv python list --installed
uv 自带官方构建版本,不依赖系统仓库,可放心使用。
一句话建议:以后新项目,直接用 uv,不要再折腾 pyenv 了。

微信公众号「极客日志」,在微信中扫描左侧二维码关注。展示文案:极客日志 zeeklog
解析常见 curl 参数并生成 fetch、axios、PHP curl 或 Python requests 示例代码。 在线工具,curl 转代码在线工具,online
将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online
将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online
将 Markdown(GFM)转为 HTML 片段,浏览器内 marked 解析;与 HTML转Markdown 互为补充。 在线工具,Markdown转HTML在线工具,online
将 HTML 片段转为 GitHub Flavored Markdown,支持标题、列表、链接、代码块与表格等;浏览器内处理,可链接预填。 在线工具,HTML转Markdown在线工具,online
通过删除不必要的空白来缩小和压缩JSON。 在线工具,JSON 压缩在线工具,online