Python UV 工具介绍:Windows 安装方法与基础用法
由 Astral 公司开发的高性能 Python 包管理工具 UV。内容涵盖 UV 的核心优势(速度快、轻量级、现代化依赖管理),在 Windows 系统上的三种安装方式(Pipx、PowerShell 脚本、PIP),以及基础用法如依赖管理、虚拟环境创建和项目初始化。此外,文章还对比了 venv、virtualenv、pipenv、conda 和 poetry 等其他主流工具,帮助开发者根据场景选择合适的方案。

由 Astral 公司开发的高性能 Python 包管理工具 UV。内容涵盖 UV 的核心优势(速度快、轻量级、现代化依赖管理),在 Windows 系统上的三种安装方式(Pipx、PowerShell 脚本、PIP),以及基础用法如依赖管理、虚拟环境创建和项目初始化。此外,文章还对比了 venv、virtualenv、pipenv、conda 和 poetry 等其他主流工具,帮助开发者根据场景选择合适的方案。

UV 是由 Astral 公司(Rust 工具 Ruff 的开发者)推出的高性能 Python 包管理工具,基于 Rust 编写,旨在替代传统的 pip 和 pip-tools。其核心优势在于极快的速度(比 pip 快 10-100 倍)、轻量级设计(仅几十 MB)以及现代化的依赖管理(支持 pyproject.toml 和 uv.lock 文件)。UV 集成了虚拟环境管理、Python 版本控制、依赖解析等功能,目标是成为类似 Rust Cargo 的全能工具,简化 Python 开发流程。
若已安装 pipx:
pipx install uv
打开 PowerShell,执行:
irm https://astral.sh/uv/install.ps1 |iex
直接使用 Python 自带的 pip 安装,兼容性最佳:
pip install uv
安装后,uv 会被添加到系统环境变量,即使切换虚拟环境也能使用。
注意:若通过包管理器(如 Chocolatey)安装,可能版本较旧,建议优先使用 pip 或官方脚本。
导出依赖:
uv pip freeze > requirements.txt # 兼容传统格式
添加/移除包:
uv add requests # 自动更新 pyproject.toml
uv remove pandas
同步依赖:根据 pyproject.toml 和 uv.lock 自动安装依赖:
uv sync
初始化项目:
uv init # 生成 pyproject.toml 和 uv.lock
安装依赖包:语法与 pip 一致,但速度更快:
uv pip install requests pandas # 安装最新版
uv pip install "numpy>=1.21" # 版本约束
创建虚拟环境:
uv venv .venv # 默认创建 .venv 目录
uv venv -p 3.12 # 指定 Python 版本(需已安装)
激活环境:
.venv\Scripts\activate # Windows
假设新建项目 demo:
mkdir demo && cd demo
uv init
echo "requests"> pyproject.toml # 手动编辑依赖
uv sync # 自动创建 .venv 并安装
.venv\Scripts\activate
uv pip list # 查看已安装包
pip 的 1/10。virtualenv 或 pyenv,直接管理 Python 版本和依赖。pyproject.toml,与 Rust/Node.js 生态对齐。若你受够了 pip 的缓慢和 conda 的臃肿,UV 是当前最优解。
Python 虚拟环境创建方式多样,除了 uv 之外,以下是其他主流方法及对比:
适用场景:Python 3.3+ 原生支持,无需安装额外工具
# 创建环境
python -m venv .venv
# 激活(Windows)
.venv\Scripts\activate
特点:
适用场景:兼容 Python 2/3,老项目维护
# 安装
pip install virtualenv
# 创建环境
virtualenv myenv
# 指定 Python 版本(需已安装)
virtualenv -p /path/to/python myenv
特点:
pip 安装,功能单一适用场景:依赖管理 + 虚拟环境一体化
# 安装
pip install pipenv
# 创建环境并安装包
pipenv install requests
# 激活
pipenv shell
特点:
Pipfile 和 Pipfile.lock适用场景:数据科学/跨语言依赖管理
# 创建环境
conda create -n myenv python=3.11
# 激活
conda activate myenv
特点:
适用场景:项目打包与依赖管理深度集成
# 初始化项目(自动创建环境)
poetry new myproject
poetry install
# 激活
poetry shell
特点:
pyproject.toml| 工具 | 启动速度 | Python 版本管理 | 依赖管理 | 适用场景 |
|---|---|---|---|---|
uv | ⚡极快 | ✅ | ✅ | 现代项目全能工具 |
venv | 中等 | ❌ | ❌ | 轻量级快速隔离 |
pipenv | 较慢 | ❌ | ✅ | 依赖锁定的传统项目 |
conda | 慢 | ✅ | ✅ | 数据科学/跨语言项目 |
poetry | 中等 | ❌ | ✅ | 需要打包的库项目 |
uvvenvcondapoetryvirtualenv
微信公众号「极客日志」,在微信中扫描左侧二维码关注。展示文案:极客日志 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