MoneyPrinterTurbo_00 / DEPLOYMENT_CHECKLIST.md
CatPtain's picture
Upload 49 files
6d4ec85 verified
# Huggingface Spaces 部署检查清单
## 📋 必须上传的文件清单
### ✅ 核心文件
- [x] `app.py` - HF Spaces入口文件(已简化配置逻辑)
- [x] `README.md` - 带有正确YAML头的项目说明
- [x] `requirements.txt` - Python依赖
- [x] `packages.txt` - 系统依赖
- [x] `config.toml` - 配置文件
### ✅ 应用代码
- [x] `app/` - 完整应用目录
- [x] `webui/` - Streamlit界面
- [x] `resource/` - 字体和音乐资源
### ✅ 文档文件
- [x] `API_GUIDE.md` - API使用指南
- [x] `.gitignore` - Git忽略文件
## 🚫 不需要上传的文件
### ❌ 开发文件
- [ ] `Dockerfile` - HF不使用Docker构建
- [ ] `.dockerignore` - HF不需要
- [ ] `docker-compose.yml` - 本地开发用
- [ ] `main.py` - 本地启动脚本
- [ ] `webui.bat` / `webui.sh` - 本地脚本
### ❌ 示例和测试文件
- [ ] `config.example.toml` - 示例配置
- [ ] `test/` - 测试目录
- [ ] `docs/` - 文档图片
## 🔧 API密钥配置优先级
### 配置方式选择
1. **HF Spaces环境变量** (推荐) - 更安全,自动加载
2. **WebUI界面配置** - 简单直观,适合测试
### 环境变量配置
在HF Spaces的Settings → Repository secrets中配置:
```bash
# 核心API密钥
MONEYPRINTER_API_KEY=your_api_key_here # 用于外部API调用
# LLM服务(至少选择一个)
DEEPSEEK_API_KEY=your_deepseek_key # 推荐
MOONSHOT_API_KEY=your_moonshot_key # 推荐
OPENAI_API_KEY=your_openai_key
# 视频素材源(至少选择一个)
PEXELS_API_KEY=your_pexels_key # 推荐
PIXABAY_API_KEY=your_pixabay_key
# 可选服务
AZURE_SPEECH_KEY=your_azure_key
AZURE_SPEECH_REGION=eastus
```
### 配置说明
- 环境变量会在启动时自动加载到config.toml
- 如果同时配置了环境变量和WebUI,环境变量优先
- 未配置环境变量时,可在WebUI中手动配置
## 🚀 使用方式
### 1. 仅WebUI使用
- 在左侧配置面板设置API密钥
- 通过界面生成视频
### 2. API调用
- 需要设置`MONEYPRINTER_API_KEY`环境变量
- 使用该密钥调用外部API接口
- 详见`API_GUIDE.md`
## 🔧 构建卡住的常见原因及解决方案
### 1. 缺少YAML头部
**问题**: README.md没有正确的YAML配置
**解决**: 确保README.md开头有完整的YAML头部
### 2. 依赖版本冲突
**问题**: requirements.txt中的包版本不兼容
**解决**: 使用优化后的requirements.txt(已修复)
### 3. 系统依赖缺失
**问题**: 缺少ffmpeg等系统依赖
**解决**: 创建packages.txt文件(已创建)
### 4. 启动脚本问题
**问题**: app.py启动逻辑有误
**解决**: 使用优化后的app.py(已修复)
### 5. 配置文件问题
**问题**: config.toml格式错误
**解决**: 检查TOML语法,确保没有语法错误
## 🔍 部署后故障排除
### 检查构建日志
1. 在HF Spaces界面查看"Logs"标签
2. 寻找错误信息,通常出现在:
- 依赖安装阶段
- 应用启动阶段
### 常见错误及解决方案
#### 错误: "No module named 'xxx'"
```bash
解决: 在requirements.txt中添加缺失的包
```
#### 错误: "Address already in use"
```bash
解决: 检查app.py中的端口配置是否为7860
```
#### 错误: "Permission denied"
```bash
解决: 检查文件权限,确保app.py有执行权限
```
#### 错误: "ffmpeg not found"
```bash
解决: 确保packages.txt包含ffmpeg
```
## 📞 支持信息
如果部署仍然失败,请检查:
1. HF Spaces配额是否足够
2. 是否选择了正确的SDK (Streamlit)
3. 文件是否完整上传
4. YAML配置是否正确