262 lines
5.3 KiB
Markdown
262 lines
5.3 KiB
Markdown
# 增强版构建指南 - 逐步添加功能
|
||
|
||
## 概述
|
||
|
||
既然基本版本可以工作,现在我们逐步添加更多功能,包括实际的服务模块和AI功能。
|
||
|
||
## 🚀 快速开始
|
||
|
||
### 1. 构建增强版本
|
||
|
||
在 `python_core` 目录下运行:
|
||
|
||
```cmd
|
||
# Windows
|
||
build_enhanced.bat
|
||
|
||
# 或者手动构建
|
||
python -m PyInstaller build_enhanced.spec
|
||
```
|
||
|
||
### 2. 测试功能
|
||
|
||
```cmd
|
||
# 运行功能测试
|
||
python test_functionality.py
|
||
|
||
# 手动测试基础功能
|
||
dist\mixvideo-python-core.exe --version
|
||
dist\mixvideo-python-core.exe --module test --action hello
|
||
```
|
||
|
||
## 📋 新增功能
|
||
|
||
### 1. **增强版入口文件** (`main_simple.py`)
|
||
|
||
- ✅ 完整的模块映射系统
|
||
- ✅ 多种导入方式支持
|
||
- ✅ 模拟服务回退机制
|
||
- ✅ 详细的错误处理
|
||
- ✅ JSON-RPC兼容的响应格式
|
||
|
||
### 2. **模拟服务系统** (`mock_services.py`)
|
||
|
||
提供完整的模拟服务,确保在实际服务不可用时也能正常工作:
|
||
|
||
- ✅ 模板管理模拟
|
||
- ✅ 项目管理模拟
|
||
- ✅ 媒体管理模拟
|
||
- ✅ 音频管理模拟
|
||
- ✅ 模特管理模拟
|
||
- ✅ 资源分类管理模拟
|
||
- ✅ 文件管理模拟
|
||
- ✅ AI视频生成模拟
|
||
|
||
### 3. **增强版构建配置** (`build_enhanced.spec`)
|
||
|
||
- ✅ 分层的隐藏导入配置
|
||
- ✅ 第三方库支持
|
||
- ✅ 图像处理库集成
|
||
- ✅ 智能排除不需要的模块
|
||
|
||
### 4. **功能测试系统** (`test_functionality.py`)
|
||
|
||
- ✅ 自动化测试所有模块
|
||
- ✅ 详细的测试报告
|
||
- ✅ JSON格式的测试结果
|
||
|
||
## 🧪 测试用例
|
||
|
||
### 基础功能测试
|
||
|
||
```cmd
|
||
# 版本信息
|
||
dist\mixvideo-python-core.exe --version
|
||
|
||
# 测试模块
|
||
dist\mixvideo-python-core.exe --module test --action hello
|
||
dist\mixvideo-python-core.exe --module test --action echo --params "{\"message\":\"Hello World\"}"
|
||
```
|
||
|
||
### 服务模块测试
|
||
|
||
```cmd
|
||
# 模板管理
|
||
dist\mixvideo-python-core.exe --module template_manager --action get_templates
|
||
|
||
# 项目管理
|
||
dist\mixvideo-python-core.exe --module project_manager --action get_projects
|
||
|
||
# 媒体管理
|
||
dist\mixvideo-python-core.exe --module media_manager --action get_media_list
|
||
|
||
# 文件管理
|
||
dist\mixvideo-python-core.exe --module file_manager --action list_files --params "{\"path\":\".\"}"
|
||
```
|
||
|
||
### AI模块测试
|
||
|
||
```cmd
|
||
# AI环境测试
|
||
dist\mixvideo-python-core.exe --module ai_video --action test_environment
|
||
|
||
# 视频生成器状态
|
||
dist\mixvideo-python-core.exe --module video_generator --action get_status
|
||
```
|
||
|
||
## 📊 预期输出
|
||
|
||
### 成功的响应格式
|
||
|
||
```json
|
||
{
|
||
"status": true,
|
||
"msg": "操作完成",
|
||
"data": {
|
||
"templates": [
|
||
{
|
||
"id": "template_001",
|
||
"name": "商业宣传模板",
|
||
"description": "适用于商业宣传的视频模板",
|
||
"duration": 30,
|
||
"created_at": "2024-01-01T00:00:00Z"
|
||
}
|
||
],
|
||
"total": 2,
|
||
"timestamp": "2024-01-15T10:30:00.000000"
|
||
}
|
||
}
|
||
```
|
||
|
||
### 错误的响应格式
|
||
|
||
```json
|
||
{
|
||
"status": false,
|
||
"msg": "Failed to execute template_manager.get_templates: Module not found",
|
||
"data": null
|
||
}
|
||
```
|
||
|
||
## 🔧 故障排除
|
||
|
||
### 1. 构建失败
|
||
|
||
**问题**: PyInstaller构建失败
|
||
**解决**:
|
||
```cmd
|
||
# 检查依赖
|
||
python -c "import requests, PIL, json"
|
||
|
||
# 使用简化版本
|
||
python -m PyInstaller build_simple.spec
|
||
|
||
# 逐步添加隐藏导入
|
||
```
|
||
|
||
### 2. 模块导入错误
|
||
|
||
**问题**: 某些模块无法导入
|
||
**解决**:
|
||
- 检查 `build_enhanced.spec` 中的 `hiddenimports`
|
||
- 使用模拟服务作为回退
|
||
- 添加缺失的模块到隐藏导入列表
|
||
|
||
### 3. 功能测试失败
|
||
|
||
**问题**: 某些功能测试失败
|
||
**解决**:
|
||
```cmd
|
||
# 查看详细错误
|
||
dist\mixvideo-python-core.exe --module template_manager --action get_templates --verbose
|
||
|
||
# 检查测试结果
|
||
type test_results.json
|
||
```
|
||
|
||
## 📈 性能优化
|
||
|
||
### 1. 减少包大小
|
||
|
||
在 `build_enhanced.spec` 中调整 `excludes` 列表:
|
||
|
||
```python
|
||
excludes = [
|
||
'tkinter',
|
||
'matplotlib',
|
||
'scipy',
|
||
'pandas',
|
||
'numpy', # 如果不需要
|
||
'cv2', # 如果不需要
|
||
# 添加其他不需要的模块
|
||
]
|
||
```
|
||
|
||
### 2. 提升启动速度
|
||
|
||
- 使用 `--onefile` 模式
|
||
- 启用 UPX 压缩
|
||
- 减少不必要的隐藏导入
|
||
|
||
## 🔄 集成到Tauri
|
||
|
||
### 1. 复制可执行文件
|
||
|
||
```cmd
|
||
mkdir ..\src-tauri\binaries
|
||
copy dist\mixvideo-python-core.exe ..\src-tauri\binaries\
|
||
```
|
||
|
||
### 2. 更新Tauri配置
|
||
|
||
在 `src-tauri/tauri.conf.json` 中添加:
|
||
|
||
```json
|
||
{
|
||
"bundle": {
|
||
"externalBin": [
|
||
{
|
||
"name": "mixvideo-python-core",
|
||
"src": "binaries/mixvideo-python-core",
|
||
"targets": ["all"]
|
||
}
|
||
]
|
||
}
|
||
}
|
||
```
|
||
|
||
### 3. 测试集成
|
||
|
||
```cmd
|
||
# 开发模式测试
|
||
cargo tauri dev
|
||
|
||
# 生产构建
|
||
cargo tauri build
|
||
```
|
||
|
||
## 🎯 下一步计划
|
||
|
||
### 短期目标
|
||
- [ ] 添加实际的服务模块实现
|
||
- [ ] 集成真实的AI视频生成功能
|
||
- [ ] 优化错误处理和日志记录
|
||
- [ ] 添加配置文件支持
|
||
|
||
### 长期目标
|
||
- [ ] 支持插件系统
|
||
- [ ] 添加缓存机制
|
||
- [ ] 实现自动更新
|
||
- [ ] 性能监控和优化
|
||
|
||
## 📝 开发建议
|
||
|
||
1. **渐进式开发**: 先确保基础功能工作,再逐步添加复杂功能
|
||
2. **测试驱动**: 每次添加新功能都要运行完整测试
|
||
3. **模拟优先**: 使用模拟服务确保系统稳定性
|
||
4. **文档同步**: 及时更新文档和测试用例
|
||
|
||
---
|
||
|
||
通过这个增强版本,我们现在有了一个功能完整、可测试、可扩展的Python Core系统,为后续的功能开发奠定了坚实的基础。
|