uv的高级用法

uv 不仅仅是一个 Python 包安装器,它提供了多种进阶功能来优化 Python 开发工作流。以下是 uv 的高级用法详解


一、虚拟环境管理(替代 venv

1. 创建虚拟环境(比原生快 80 倍)
# 创建默认环境
uv venv .venv

# 指定 Python 版本(需提前安装)
uv venv -p 3.11 .venv-311
2. 激活环境
# Linux/macOS
source .venv/bin/activate

# Windows
.venv\Scripts\activate
3. 删除环境
uv venv --remove .venv

二、依赖锁定与同步(替代 pip-tools

1. 生成精准锁文件
# 从 pyproject.toml 生成锁定文件
uv pip compile pyproject.toml -o requirements.txt

# 带升级选项(检查更新)
uv pip compile --upgrade pyproject.toml
2. 同步环境(严格按锁文件安装)
uv pip sync requirements.txt

三、依赖解析优化

1. 预发布版本控制
# 允许安装预发布版本
uv pip install --pre django

# 在编译时包含预发布
uv pip compile --pre pyproject.toml
2. 平台特定依赖管理
# 仅为当前平台生成锁文件
uv pip compile --platform=native pyproject.toml

# 多平台锁定(跨平台部署)
uv pip compile --platform=linux-arm64 --platform=macos-arm64 pyproject.toml

四、工作流加速技巧

1. 并行安装(默认启用)
# 手动控制并行度(CPU核心数)
uv pip install -j 8 -r requirements.txt
2. 离线安装模式
# 使用本地缓存离线安装
uv pip install --offline numpy
3. 选择性升级
# 仅升级指定包
uv pip install --upgrade-package pandas

# 升级主版本不兼容的包
uv pip install --upgrade --breakage-policy=allow

五、高级配置

1. 自定义缓存位置
# 设置全局缓存目录
uv config set cache.dir /path/to/cache
2. 证书配置
# 指定自定义 CA 证书
uv config set tls.cainfo /path/to/cert.pem
3. 代理服务器设置
uv config set proxy.http http://user:pass@proxy:8080
uv config set proxy.https http://user:pass@proxy:8080

六、系统级操作

1. 全局安装(替代 pipx
uv pip install --system flask  # 谨慎使用!
2. 用户级安装
uv pip install --user black
3. 修复损坏环境
uv pip install --repair pandas  # 重新安装损坏包

七、组合命令示例

1. 一键创建环境并安装依赖
uv venv .env && source .env/bin/activate && uv pip install -r requirements.txt
2. CI/CD 优化流程
# 1. 生成锁定文件
uv pip compile pyproject.toml -o requirements.lock
# 2. 缓存依赖
uv cache clean  # 清理旧缓存
uv pip download -r requirements.lock
# 3. 离线安装
uv pip install --no-index --find-links ~/cache/packages -r requirements.lock

八、诊断与调试

# 检查依赖冲突
uv pip check

# 查看解析决策树
uv pip install --dry-run -v numpy pandas

# 导出已安装依赖图
uv pip list --format=tree

性能提示:uv 在大型项目(如 NumPy + Pandas + SciPy)上的安装速度可比传统工具快 10-100 倍,尤其在冷启动场景下优势明显。

通过掌握这些高级技巧,您可以充分利用 uv 的极致性能优势,大幅优化 Python 开发、测试和部署流程。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值