一、为什么推荐大家改用 uv?
先简单对比传统工具的痛点,看懂你就明白uv有多香:
- 原生venv:仅能创建虚拟环境,无依赖管理、无版本锁定,多项目依赖极易冲突
- pip+requirements.txt:安装慢、解析依赖耗时久,无法精准锁定间接依赖版本,环境迁移容易翻车
- Poetry/Pipenv:功能齐全但启动、解析、安装速度慢,新手上手门槛高
- uv:极速创建环境、秒装依赖、自动锁版本、跨平台兼容、命令极简,兼顾新手友好和高效开发
简单总结:
uv是Python目前最全能、最高效的环境+依赖管理工具,完全可以替代 venv + pip + poetry 全套工具。
二、uv 一键安装(Windows/Mac/Linux 全平台)
uv 安装超级简单,无需复杂配置,一行命令搞定,支持Python3.7及以上所有版本。
1. 安装命令
# Mac / Linux 终端 curl -LsSf https://astral.sh/uv/install.sh | sh # Windows PowerShell powershell -c "irm https://astral.sh/uv/install.ps1 | iex"2. 验证安装成功
安装完成后,重启终端,输入以下命令查看版本:
uv --version输出版本号即代表安装成功,全程几十秒搞定,零配置开箱即用。
三、核心实操:用 uv 管理虚拟环境
uv 最核心的能力就是极简虚拟环境管理,告别繁琐命令,新手也能一键操作。
1. 创建虚拟环境
进入你的项目文件夹,执行创建命令,默认生成.venv虚拟环境目录:
# 使用系统默认Python版本创建环境 uv venv # 指定Python版本创建(推荐!多版本必备) uv venv --python 3.10执行后项目目录会自动生成.venv文件夹,这就是当前项目独立隔离的Python环境,不同项目环境完全互不干扰。
2. 激活虚拟环境
创建完成后,根据系统执行激活命令,激活成功后终端前缀会显示(.venv):
# Mac / Linux source .venv/bin/activate # Windows PowerShell .venv\Scripts\activate3. 退出/删除虚拟环境
# 退出当前虚拟环境 deactivate # 删除虚拟环境(直接删除文件夹即可,干净无残留) rm -rf .venv相较于原生venv,uv创建环境速度提升近百倍,且环境纯净无冗余文件。
四、uv依赖包管理(替代pip,更稳更快)
uv 完全兼容pip生态,且安装、更新、卸载速度碾压pip,同时自带版本锁定功能,彻底解决依赖混乱问题。
1. 安装依赖包
# 安装最新版本 uv add requests # 指定版本安装 uv add numpy==1.26.0 # 安装开发依赖(仅开发环境使用) uv add --dev pytest2. 卸载 / 更新依赖
# 卸载指定包 uv remove requests # 更新指定包到最新版本 uv lock --upgrade-package numpy # 更新所有依赖 uv lock --upgrade3. 查看已安装依赖
uv pip list五、项目环境固化与迁移
传统requirements.txt无法锁定间接依赖版本,迁移环境极易出现版本不一致。而uv会自动生成pyproject.toml(依赖声明)和uv.lock(精准锁文件),实现一键复刻环境,团队协作、项目部署零翻车。
1.在源机器上准备(生成配置文件)
# 先更新锁文件 uv lock执行后自动生成项目基础配置文件,规范化项目结构。
2. 同步环境(安装所有锁定依赖)
将 pyproject.toml 和 uv.lock 文件(以及项目代码)拷贝到新机器,直接执行:
uv sync uv sync 的工作机制保证了环境一致性: 步骤 说明 读取 uv.lock 获取每个包的精确版本和哈希值 下载安装 从 PyPI 下载这些精确版本的包到新机器的 .venv 版本锁定 确保新机器安装的依赖版本与源机器完全一致uv 会自动读取 lock 文件,精准复刻完全一致的依赖环境,彻底解决"我本地能跑,你本地报错"的经典问题。
六、高阶用法:无需激活环境,直接运行代码
uv 有一个超级实用的功能:无需手动激活虚拟环境,直接运行项目代码,简化操作流程。
# 直接运行py文件,自动加载当前项目虚拟环境 uv run main.py # 运行框架命令(如Flask、Django) uv run flask run uv run python manage.py runserver日常开发完全可以抛弃手动激活、退出环境的操作,一条命令直接运行,高效又便捷。
七、常用命令速查表
整理日常开发高频命令,随用随查:
# 安装/升级uv curl -LsSf https://astral.sh/uv/install.sh | sh # 创建虚拟环境 uv venv && uv venv --python 3.10 # 激活环境(Mac/Linux) source .venv/bin/activate # 安装/卸载依赖 uv add 包名 uv remove 包名 # 同步环境、锁定版本 uv sync uv lock # 直接运行代码 uv run xxx.py # 退出环境 deactivate八、写在最后
从原生 venv、pip 到 poetry、pipenv,Python 环境管理工具迭代了很多版本,而uv 是目前综合体验最优的方案。
它用极致的速度、极简的命令、完善的依赖锁定机制,一站式解决了 Python 开发者环境创建慢、依赖安装卡、版本不统一、迁移易报错的所有痛点。
参考链接:Features | uv