uv管理python环境
UV 是 Python 生态系统中的新一代一体化项目工具,由 Astral 公司使用 Rust 开发编写,它集成了包管理、虚拟环境、项目脚手架等多种功能。
安装 UV
- Linux
curl -LsSf https://astral.sh/uv/install.sh | sh
- Windows (PowerShell)
powershell -c "irm https://astral.sh/uv/install.ps1 | iex"
# 添加到环境变量
export PATH="$HOME/.local/bin:$PATH" # 添加到 ~/.bashrc 或 ~/.zshrc
- pip安装
pip install uv
验证安装
uv --version
uv --help
📄 基础使用
1. 项目初始化
- 创建新项目
uv init my-project
cd my-project
- 初始化现有目录
cd existing-project
uv init
这会创建:
pyproject.toml- 项目配置文件.python-version- Python 版本文件README.md- 项目说明- 虚拟环境(可选)
2. 依赖管理
# 添加依赖(自动更新 pyproject.toml)
uv add requests
uv add "flask>=2.0.0"
uv add "pandas>=2.0.0,<3.0.0"
# 添加开发依赖
uv add --dev pytest
uv add --dev pytest-cov black
# 从文件安装
uv add -r requirements.txt
uv add -r requirements-dev.txt
# 移除依赖
uv remove requests
3. 虚拟环境管理
# 创建虚拟环境
uv venv
uv venv .venv # 指定目录
uv venv --python 3.10 # 指定Python版本
# 激活环境
# Linux/macOS
source .venv/bin/activate
# Windows
.venv\Scripts\activate
# 列出虚拟环境
uv venv list
# 删除虚拟环境
uv venv remove .venv
4. 依赖同步与锁定
# 同步依赖(根据 pyproject.toml 安装)
uv sync
# 同步并生成锁定文件
uv sync --locked
# 或
uv lock
uv sync
# 仅生成锁定文件
uv lock --no-sync
# 更新所有依赖
uv sync --upgrade
uv lock --upgrade
📁 项目结构示例
my-project/
├── pyproject.toml # 项目配置和依赖
├── uv.lock # 锁定文件
├── .python-version # Python版本
├── .venv/ # 虚拟环境
├── src/
│ └── my_project/
│ ├── __init__.py
│ └── main.py
├── tests/
│ └── test_main.py
└── README.md
浙公网安备 33010602011771号