mxivideo/docs/ENHANCED_BUILD_GUIDE.md

262 lines
5.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 增强版构建指南 - 逐步添加功能
## 概述
既然基本版本可以工作现在我们逐步添加更多功能包括实际的服务模块和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系统为后续的功能开发奠定了坚实的基础。