# 迁移到 uv 依赖管理器 ## ✅ 已完成的工作 1. **初始化 uv 项目** - 创建了 `pyproject.toml` 配置文件 - 所有依赖已迁移到 `pyproject.toml` 2. **依赖管理** - 使用 `uv sync` 安装所有依赖 - 创建了 `.venv` 虚拟环境(uv 自动管理) - 生成了 `requirements-lock.txt` 锁定文件 3. **工具和脚本** - 创建了 `start.sh` 启动脚本 - 创建了 `README_UV.md` 使用文档 ## 📝 使用方式 ### 启动服务 ```bash cd backend ./start.sh ``` 或手动启动: ```bash cd backend uv run uvicorn app.main:app --host 0.0.0.0 --port 8000 --reload ``` ### 数据库迁移 ```bash cd backend uv run alembic upgrade head ``` ### 添加新依赖 ```bash cd backend uv add package-name ``` ## 🔄 从旧环境迁移 如果你之前使用 `venv` 和 `pip`: 1. **删除旧虚拟环境**(可选): ```bash rm -rf venv ``` 2. **使用 uv 同步**: ```bash uv sync ``` 3. **之后使用 `uv run` 运行所有命令** ## 📦 依赖文件说明 - `pyproject.toml` - 项目配置和依赖声明(主要文件) - `requirements.txt` - 保留用于兼容性,但建议使用 `pyproject.toml` - `requirements-lock.txt` - 自动生成的锁定文件(确保可复现) ## ⚠️ 注意事项 - uv 创建的虚拟环境在 `.venv/` 目录(不是 `venv/`) - 使用 `uv run` 运行命令会自动使用正确的虚拟环境 - 也可以手动激活:`source .venv/bin/activate` ## 🎯 优势 - ⚡ **速度快**:比 pip 快 10-100 倍 - 🔒 **可复现**:自动生成锁定文件 - 🎯 **简单**:一个命令管理所有依赖 - 🔄 **兼容**:完全兼容 pip 和 requirements.txt