UV 学习

uv 是什么?

  • Rust 编写的超高速 Python 包管理工具(比 pip 快 10-100 倍)

  • 由 Ruff 团队开发,支持:

    • 包安装(替代 pip

    • 虚拟环境管理(替代 venv

    • 依赖解析/锁定(替代 pip-tools

  • 兼容主流 Python 工具链(Pipfile, pyproject.toml, requirements.txt)


安装 uv

# 推荐独立安装(不依赖 Python)
curl -LsSf https://astral.sh/uv/install.sh | sh

# 或通过 pip(需 Python 3.8+)
pip install uv

核心命令速查

1. 虚拟环境管理
# 创建并激活环境
uv venv .venv             # 创建环境
source .venv/bin/activate # 激活(Linux/macOS)
.\.venv\Scripts\activate  # 激活(Windows)

# 指定 Python 版本
uv venv --python=3.10 .venv
2. 包安装
# 从文件安装
uv pip install -r requirements.txt
uv pip install -r pyproject.toml  # 支持 PEP 621

# 安装单个包
uv pip install pandas

# 安装可编辑模式(开发)
uv pip install -e .
3. 依赖锁定
# 生成锁定文件
uv pip compile requirements.in -o requirements.txt

# 同步锁定文件
uv pip sync requirements.txt
4. 依赖管理
# 升级包
uv pip install --upgrade pandas

# 卸载包
uv pip uninstall numpy

# 导出环境
uv pip freeze > requirements.txt


常见问题解决

Q1: 如何避免与 conda 冲突?
# 创建环境时指定系统 Python
uv venv --system --python=3.10 .venv

# 激活后验证路径
which python  # 应显示 .venv/bin/python
Q2: 替换现有 pip/venv 工作流
# 传统方式
python -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt

# uv 等效(快 10 倍)
uv venv .venv
source .venv/bin/activate
uv pip install -r requirements.txt
Q3: 依赖解析失败?
# 启用详细日志
UV_LOG_LEVEL=debug uv pip install package

# 尝试宽松模式
uv pip install --resolution=lowest package

uv 优势总结

特性传统工具uv
速度慢(pip) 快 10-100x
虚拟环境venvuv venv
依赖锁定pip-toolsuv pip compile
磁盘占用 低 30%
冷启动 <100ms

最佳实践:始终用 uv pip 替代 pip,用 uv venv 替代 python -m venv

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值