uv
是由 Astral 开发的现代 Python 包和虚拟环境管理工具,使用 Rust 编写,兼具高性能与高度兼容性,旨在替代 pip
、venv
和部分 virtualenv
的使用场景。
本文将系统介绍如何在 macOS 与 Windows 上使用 uv
管理 Python 环境,包括安装、创建虚拟环境、安装依赖、项目结构管理以及配置国内源(如清华镜像)。
一、uv 简介
uv 的主要功能:
- 快速创建虚拟环境(基于 venv)
- pip 完全兼容的包管理命令:
uv pip
相当于pip
- 支持
pyproject.toml
与uv.lock
的依赖锁定机制(类似 poetry) - 内置缓存机制提高安装速度
- 跨平台支持 macOS、Windows、Linux
二、安装 uv
1. macOS / Linux
curl -LsSf https://astral.sh/uv/install.sh | sh
或使用 Homebrew(推荐):
brew install uv
2. Windows(PowerShell)
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
3. pip 安装(不推荐)
pip install uv
4. 验证安装
uv --version
三、虚拟环境管理
1. 创建虚拟环境
uv venv # 默认在 .venv 下创建
或指定路径 / Python 版本:
uv venv .venv --python 3.10
2. 激活虚拟环境
- macOS/Linux:
source .venv/bin/activate
- Windows:
.venv\Scripts\activate
pycharm中使用uv
直接用uv创建一个环境就可以使用了,可以在项目目录下看到.venv就是python的环境了
四、依赖管理
1. 安装包
uv pip install requests
2. 冻结依赖
uv pip freeze > requirements.txt
3. 卸载包
uv pip uninstall requests
4. 生成锁文件(推荐项目使用)
uv init # 初始化 pyproject.toml
uv add numpy # 添加依赖
uv lock # 生成 uv.lock 文件
5. 同步安装
uv sync
五、配置清华源(国内镜像)
推荐方式:创建 pip 配置文件以供 uv pip
使用。
1. macOS / Linux
mkdir -p ~/.config/pip
nano ~/.config/pip/pip.conf
内容:
[global]
index-url = https://pypi.tuna.tsinghua.edu.cn/simple
2. Windows
创建文件 %APPDATA%\pip\pip.ini
,内容相同。
3. 临时使用镜像源
uv pip install pandas -i https://pypi.tuna.tsinghua.edu.cn/simple
六、推荐项目结构与文件说明
my-project/
├── .venv/ # 虚拟环境目录
├── pyproject.toml # 项目信息和依赖定义文件
├── uv.lock # 锁定所有依赖的精确版本
├── src/ # 源代码目录
└── README.md
.venv/
用于存放项目的虚拟环境文件,隔离系统 Python,避免依赖冲突。uv venv
默认创建此目录。
pyproject.toml
Python 项目的统一配置文件,定义了项目元信息、依赖包、构建后端等,是现代 Python 项目的标准文件格式,uv init
自动生成。
示例内容:
[project]
name = "my_project"
version = "0.1.0"
dependencies = ["numpy", "requests"]
uv.lock
由 uv lock
命令生成,锁定所有依赖及其子依赖的具体版本,确保多人协作或部署环境中包版本一致。
七、摘要总结一下
uv
提供了现代、高效的 Python 包与环境管理体验,是当前 pip/venv 的有力替代方案。在 macOS 和 Windows 上都能流畅运行,结合国内源可进一步提升安装效率。
推荐场景:
- 多项目开发
- 自动化部署(CI/CD)
- 替换 poetry/pipenv 的轻量级方案
官方文档参考:https://docs.astral.sh/uv
开源项目地址:https://github.com/astral-sh/uv