Windows 上用 uv 彻底替代传统 Python 安装与环境管理
适合对象:
- 刚接触 Python 的初学者
- 被“环境问题”困扰过的人
- 想要更现代、更干净开发方式的开发者
一、为什么不再推荐“传统安装方式”?
传统流程通常是:
- 去 python.org 下载 Python
- 手动勾选 Add to PATH
- 安装 pip
- 创建 venv
- pip install
- pip freeze
- 处理各种冲突
问题在于:
- 容易污染全局环境
- 多版本切换困难
- 依赖锁定混乱
- 新手极易踩坑
二、什么是 uv?
uv 是由 Astral 团队开发的现代 Python 包与环境管理工具。
可以理解为:
一个工具 = Python 版本管理 + 虚拟环境 + pip + 依赖锁定
核心优势:
- 🚀 极快(Rust 实现)
- 🧠 自动管理 Python
- 📦 自动创建虚拟环境
- 🔒 自动生成 lock 文件
- 🧹 项目完全隔离
三、Windows 安装 uv(无需提前安装 Python)
第一步:打开 PowerShell
按:
Win + R
输入:powershell
第二步:执行官方安装命令
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
安装完成后:
关闭 PowerShell → 重新打开
第三步:验证
uv --version
如果看到版本号,说明安装成功。
四、使用 uv 管理 Python 版本
查看可用 Python 版本
uv python list
你会看到多个版本:
- 3.8
- 3.9
- 3.10
- 3.11
- 3.12
- 3.13
安装 Python 3.12
uv python install 3.12
⚠ 注意:
- 不需要去官网下载
- 不需要配置 PATH
- uv 自动管理路径
查看已安装版本
uv python list --installed
在当前项目固定 Python 版本
uv python pin 3.12
会生成:
.python-version
这样该目录下永远使用这个版本。
五、创建一个现代 Python 项目
推荐方式:uv init
uv init my_project
cd my_project
生成结构:
my_project/
│
├── pyproject.toml
├── README.md
└── src/
└── my_project/
└── __init__.py
这是现代 Python 标准结构。
六、创建虚拟环境
uv venv
生成:
.venv/
特点:
- 项目级别隔离
- 不污染全局
- 自动使用你 pin 的 Python 版本
七、安装依赖(推荐方式)
例如安装 requests:
uv add requests
发生了什么?
- 安装 requests
- 写入 pyproject.toml
- 生成 uv.lock(锁文件)
你不用再写 requirements.txt。
八、运行 Python 程序(无需激活环境)
创建 main.py:
print("Hello, uv!")
运行:
uv run main.py
重点:
你不需要 activate 虚拟环境。
九、依赖管理详解
查看依赖树
uv tree
删除依赖
uv remove requests
更新依赖
uv lock --upgrade
同步环境(团队协作必备)
当你拉取别人代码后:
uv sync
它会:
- 读取 uv.lock
- 安装精确版本依赖
十、管理多个 Python 版本
在不同项目使用不同版本
项目 A:
uv python pin 3.12
项目 B:
uv python pin 3.10
互不影响。
临时使用其他版本运行
uv run --python 3.11 main.py
十一、迁移旧项目到 uv
如果你有:
requirements.txt
步骤:
uv venv
uv add -r requirements.txt
之后就可以删除 requirements.txt。
十二、完整实战示例(真实流程)
创建 API 请求项目:
uv init http_demo
cd http_demo
uv venv
uv add requests
创建 main.py:
import requests
r = requests.get("https://httpbin.org/get")
print(r.status_code)
运行:
uv run main.py
十三、推荐开发工作流
标准流程:
uv init project
cd project
uv python install 3.12
uv python pin 3.12
uv venv
uv add 包名
uv run main.py
团队协作:
-
提交:
- pyproject.toml
- uv.lock
-
忽略:
- .venv/
十四、uv 与传统方式对比
| 功能 | 传统方式 | uv |
|---|---|---|
| 安装 Python | 官网下载 | uv python install |
| 创建虚拟环境 | python -m venv | uv venv |
| 安装依赖 | pip install | uv add |
| 锁定版本 | pip freeze | 自动 lock |
| 运行脚本 | 需激活环境 | uv run |
十五、新手常见误区
❌ 不要全局 pip install ❌ 不要手动改 PATH ❌ 不要混用 pip 与 uv ❌ 不要在多个项目共用一个虚拟环境
十六、最佳实践总结
- 每个项目一个目录
- 每个项目一个 .venv
- 每个项目固定 Python 版本
- 所有依赖用 uv add
- 使用 uv run 运行程序
十七、为什么 uv 是未来趋势?
因为它解决了 Python 多年痛点:
- 环境混乱
- 依赖冲突
- 版本不可控
- 团队协作困难
uv 让 Python 项目像 Node.js 的 npm 一样简单。
< Back to blog list