uv使用教程

发布于:2025-08-02 ⋅ 阅读:(22) ⋅ 点赞:(0)

以下是使用 Python 包管理工具 uv 的常见命令指南。uv 是由 Astral(Ruff 的开发者)开发的高性能 Python 包安装器和解析器,旨在替代 pip 和 pip-tools:

1. 安装 uv

uv官网仓库

# Linux/macOS
curl -Ls https://astral.sh/uv/install.sh | bash
source ~/.bashrc
uv

# Windows (Powershell)
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"

# 通过 pip (临时方法)
pip install uv

我直接运行pip install uv会报错。

2. 核心命令

(1) 安装包

# 安装单个包
uv pip install pandas

# 安装多个包
uv pip install requests numpy

# 从 requirements.txt 安装
uv pip install -r requirements.txt

(2) 创建虚拟环境

# 创建默认 .venv 环境
uv venv

# 指定环境名称
uv venv myenv

# 使用特定 Python 版本
uv venv --python=3.11

(3) 激活虚拟环境

# Linux/macOS
source .venv/bin/activate

# Windows
.venv\Scripts\activate

3. 依赖管理

(1) 生成 requirements.txt

# 生成精确版本锁定文件
uv pip freeze > requirements.txt

# 生成带哈希值的安全锁定文件
uv pip compile --output-file=requirements.lock

(2) 从 .in 文件生成依赖

# 创建 requirements.in 文件
echo "requests" > requirements.in
echo "numpy" >> requirements.in

# 生成解析后的 requirements.txt
uv pip compile requirements.in -o requirements.txt

(3) 同步依赖

# 根据 requirements.txt 精确同步环境
uv pip sync requirements.txt

4. 高级用法

(1) 快速安装 + 环境创建

# 一步创建环境并安装依赖
uv pip install -r requirements.txt --python=3.11

(2) 升级包

uv pip install --upgrade pandas

(3) 卸载包

uv pip uninstall package-name

(4) 列出已安装包

uv pip list

5. 性能优化技巧

利用缓存加速:

# 查看缓存位置
uv cache dir

# 清理缓存
uv cache clean

并行安装(默认启用):

uv pip install -r requirements.txt --parallel

跳过依赖解析(仅当确定依赖安全时):

uv pip install --no-deps package-name

6. 与 pip 命令对比

操作 pip命令 uv等效命令
安装包 pip install pandas uv pip install pandas
创建虚拟环境 python -m venv .venv uv venv
冻结依赖 pip freeze > reqs.txt uv pip freeze > reqs.txt
从 .in 生成依赖 pip-compile requirements.in uv pip compile requirements.in
同步环境 pip-sync requirements.txt uv pip sync requirements.txt

7. 配置文件

uv 支持 pyproject.toml 配置:

[tool.uv]
# 设置默认 Python 版本
python = "3.11"

# 设置缓存路径
cache-dir = "/path/to/cache"

常见问题解决

问题:安装时出现兼容性错误
解决:生成精确依赖树

uv pip compile requirements.in --upgrade

问题:无法找到 Python 解释器
解决:指定 Python 路径

uv venv --python=/usr/bin/python3.11

问题:Windows 权限错误
解决:以管理员身份运行 PowerShell

Set-ExecutionPolicy RemoteSigned -Scope CurrentUser

💡 提示:uv 完全兼容现有的 pip 工作流,但速度通常快 10-100 倍。对于新项目,建议使用 uv pip compile 替代 pip-compile。


网站公告

今日签到

点亮在社区的每一天
去签到