【强烈推荐】uv 安装多个 Python 版本与使用方法全攻略(替代 pyenv + venv + pip)

【强烈推荐】uv 安装多个 Python 版本与使用方法全攻略(替代 pyenv + venv + pip)

适用于:Ubuntu / Linux / macOS / Windows

本文环境:Ubuntu 20.04

Python 版本:3.8 ~ 3.13


一、uv 是什么?为什么要用 uv?

uv 是 Astral(ruff 作者)推出的新一代 Python 工具,目标是 统一并替代 现有的 Python 工具链。

一句话总结:

uv = pyenv + venv + pip 的高速合体版

uv 的核心优势

  • 🚀 超快(Rust 编写)
  • ✅ 安装多个 Python 版本(不依赖系统 Python)
  • ✅ 创建和管理虚拟环境
  • ✅ 完全替代 pip
  • ✅ 单一二进制文件,无复杂依赖
  • ✅ 与 VS Code / PyCharm 完美兼容

二、安装 uv(Linux / Ubuntu)

方式一:官方推荐(最简单)

bash 复制代码
curl -LsSf https://astral.sh/uv/install.sh | sh

安装完成后重新加载环境变量:

bash 复制代码
source ~/.bashrc

验证是否安装成功:

bash 复制代码
uv --version

方式二:使用 Cargo(不推荐新手)

bash 复制代码
cargo install uv

三、使用 uv 安装 Python 各种版本(重点)

1️⃣ 查看可安装的 Python 版本

bash 复制代码
uv python list

示例输出:

text 复制代码
3.8.18
3.9.19
3.10.14
3.11.9
3.12.3
3.13.0

2️⃣ 安装指定 Python 版本

安装 Python 3.12(推荐)
bash 复制代码
uv python install 3.12
安装多个版本(可共存)
bash 复制代码
uv python install 3.10
uv python install 3.11
uv python install 3.13

⚠️ 不会覆盖系统自带 Python


3️⃣ 查看已安装的 Python 版本

bash 复制代码
uv python list --installed

4️⃣ Python 安装目录说明

text 复制代码
~/.local/share/uv/python/

每个 Python 版本都是完全独立的目录,互不干扰。


四、使用 uv 创建虚拟环境(核心)

1️⃣ 在项目目录创建虚拟环境

bash 复制代码
cd your_project
uv venv

默认行为:

  • 使用最新 Python
  • 创建 .venv 目录

2️⃣ 指定 Python 版本创建虚拟环境(推荐)

使用 Python 3.12
bash 复制代码
uv venv --python=3.12 .venv
使用 Python 3.10
bash 复制代码
uv venv --python=3.10 .venv

📌 推荐统一使用 .venv 作为虚拟环境目录名


3️⃣ 激活虚拟环境

bash 复制代码
source .venv/bin/activate

出现:

text 复制代码
(.venv)

表示激活成功。


4️⃣ 退出虚拟环境

bash 复制代码
deactivate

五、uv 替代 pip 的用法(非常快)

1️⃣ 安装依赖

bash 复制代码
uv pip install requests flask

2️⃣ 从 requirements.txt 安装

bash 复制代码
uv pip install -r requirements.txt

3️⃣ 查看已安装的包

bash 复制代码
uv pip list

4️⃣ 生成 requirements.txt

bash 复制代码
uv pip freeze > requirements.txt

六、推荐的标准项目流程(模板)

bash 复制代码
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 的高级用法

1️⃣ 不激活环境直接运行脚本

bash 复制代码
uv run python script.py

或指定 Python 版本:

bash 复制代码
uv run --python=3.12 python script.py

2️⃣ uvx:临时运行工具(神器)

bash 复制代码
uvx black .
uvx ruff check .
uvx pytest

特点:

  • 不安装到环境
  • 用完即走
  • 非常适合 CI / 本地格式化

八、uv 与 pyenv / venv 对比

功能 uv pyenv venv
安装 Python
虚拟环境
pip 管理
速度 🚀🚀🚀
单工具

新项目强烈推荐直接使用 uv


九、常见问题汇总

1️⃣ IDE 找不到 Python 解释器

手动指定:

text 复制代码
项目目录/.venv/bin/python

2️⃣ uv venv 创建失败

确认 Python 是否已安装:

bash 复制代码
uv python list --installed

3️⃣ Ubuntu 20.04 没有 Python 3.12?

uv 自带官方构建版本,不依赖系统仓库,可放心使用。


十、总结

  • ✅ uv 是目前最先进、最简洁的 Python 工具链
  • ✅ 完美替代 pyenv + venv + pip
  • ✅ 特别适合新项目和多 Python 版本开发

一句话建议:以后新项目,直接用 uv,不要再折腾 pyenv 了。