|
# 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配置是否正确 |