【python venv vs uv】

Python 虚拟环境工具终极指南:venv vs uv

一、核心对比(表格版)

特性 venv (Python 内置) uv (Astral 高性能工具)
安装方式 Python 自带 pip install uv
环境创建速度 慢(需复制解释器) 极快(Rust 实现,快5-10倍)
依赖管理 需配合 pip 使用 内置高性能 uv pip
Python版本管理 不支持 需配合 pyenv/conda
依赖解析性能 一般 极快(快10-100倍)
适用场景 小型项目/兼容性要求高 中大型项目/追求极致性能

二、完整生命周期使用Demo

# ======================
# uv 全生命周期使用示例
# ======================

# 1. 安装uv(首次使用)
pip install uv

# 2. 创建虚拟环境(比venv快5-10倍)
uv venv .venv

# 3. 激活环境
# Linux/macOS
source .venv/bin/activate
# Windows
# .venv\Scripts\activate

# 4. 安装依赖(比pip快10-100倍)
uv pip install numpy pandas matplotlib

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

# 6. 开发模式安装当前项目
uv pip install -e .

# 7. 生成精确锁文件(类似pip-compile)
uv pip compile pyproject.toml -o requirements.lock

# 8. 同步生产环境依赖(类似pip-sync)
uv pip sync requirements.lock

# 9. 日常维护
# 列出已安装包
uv pip list
# 升级特定包
uv pip install --upgrade numpy
# 卸载包
uv pip uninstall pandas

# 10. 退出环境
deactivate

# 11. 删除环境(直接删除目录即可)
rm -rf .venv

# =============================
# 高级用法:配合pyenv使用示例
# =============================

# 1. 使用pyenv选择Python版本
pyenv install 3.11.6
pyenv local 3.11.6

# 2. 基于指定Python版本创建uv环境
uv venv --python $(pyenv which python) .venv


三、关键要点总结

  1. 性能革命

    • 环境创建:比 venv 快5-10倍
    • 依赖安装:比 pip 快10-100倍
  2. 最佳实践

    • 开发环境:uv pip install -e .
    • 生产环境:uv pip sync requirements.lock
  3. 生态整合

    • 完美兼容现有 requirements.txt
    • 支持 pyproject.toml 工作流
    • 可与 pyenv/conda 无缝配合
  4. 升级维护

    # 更新uv自身
    uv self update
    
    # 检查版本
    uv --version
    

📌 提示:uv 正在快速迭代,建议定期关注官方更新:uv会成为主流
GitHub仓库:https://github.com/astral-sh/uv

posted @ 2025-04-13 13:44  十三山入秋  阅读(461)  评论(0)    收藏  举报