# uv 使用说明

uv 是一个快速、现代化的 Python 包管理和虚拟环境工具,常被用来替代 pip、venv 和 poetry 的部分功能。

# 1. 什么是 uv

uv 的主要特点包括:

  • 安装速度快
  • 依赖解析更高效
  • 可管理 Python 版本、虚拟环境和包
  • 适合日常开发和项目依赖管理

# 2. 安装 uv

在 Windows 上可以通过 PowerShell 安装:

winget install --id=astral-sh.uv -e

安装完成后,检查是否可用:

uv --version

# 3. 创建虚拟环境

uv venv

默认会在当前项目目录下创建一个虚拟环境。

# 4. 激活虚拟环境

创建完虚拟环境后,可以在当前项目目录中激活它:

Windows PowerShell 中:

.\.venv\Scripts\Activate.ps1

激活成功后,终端提示符通常会显示虚拟环境名称,例如:

(.venv) PS E:\code\your-project>

随后就可以在这个环境中安装依赖和运行 Python 程序:

python --version
pip --version
python -m pip install requests
python -c "import sys; print(sys.executable)"

退出虚拟环境时,执行:

deactivate

# 5. 安装依赖

uv pip install requests

如果你想安装项目依赖:

uv pip install -r requirements.txt

# 6. 生成依赖文件

uv pip freeze > requirements.txt

# 7. 如何使用 uv 执行 Python 程序

最常见的方式是先创建虚拟环境,再在这个环境里运行 Python 文件。

# 7.1 创建环境并安装依赖

uv venv
uv pip install requests

# 7.2 直接运行 Python 文件

假设你的脚本文件叫 main.py,可以这样执行:

uv run python main.py

如果你已经激活了虚拟环境,也可以直接用:

python main.py

# 7.3 运行 Python 代码片段

uv run python -c "print('hello from uv')"

# 7.4 运行带依赖的脚本

例如你的脚本依赖 requests,可以先安装后再执行:

uv pip install requests
uv run python main.py

# 8. 常用命令总结

uv --version
uv venv
uv pip install <package>
uv pip install -r requirements.txt
uv run python main.py
uv pip freeze

# 9. 和 conda 的区别

uv 和 conda 都可以用于管理 Python 环境,但它们侧重点不同:

  • uv 更偏向于快速创建虚拟环境、安装包和管理依赖,速度更快,体验更轻量。
  • conda 更适合做数据科学、机器学习等复杂环境管理,尤其是包含非 Python 依赖的场景。
  • uv 适合普通开发场景,尤其是项目级别的 Python 环境管理。
  • conda 的环境管理能力更强,支持更多生态系统依赖,但相对更重一些。

简单来说:

  • 如果你只是想快速建立一个 Python 项目环境,使用 uv 会更方便。
  • 如果你需要管理复杂的科学计算环境,conda 仍然很有优势。

# 10. 适合场景

uv 适合以下场景:

  • 新项目快速搭建环境
  • 想用更快的包管理工具
  • 需要简洁的虚拟环境和依赖管理流程