83 lines
1.7 KiB
Markdown
83 lines
1.7 KiB
Markdown
# 迁移到 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
|
||
|