BodyBalanceEvaluation/backend/BUILD_README.md
2025-08-06 09:04:13 +08:00

165 lines
3.9 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.

# 身体平衡评估系统 - 后端打包说明
本文档说明如何将后端Python应用程序打包成独立的exe可执行文件。
## 📋 打包前准备
### 1. 环境要求
- Python 3.8+ (推荐 3.9-3.11)
- Windows 10/11 操作系统
- 至少 2GB 可用磁盘空间
### 2. 依赖检查
确保以下核心依赖已安装:
```bash
pip install Flask Flask-CORS Flask-SocketIO
pip install numpy opencv-python psutil
pip install PyInstaller
```
## 🚀 快速打包
### 方法一:使用批处理脚本(推荐)
1. 在backend目录下双击运行 `build_backend.bat`
2. 脚本会自动完成所有打包步骤
3. 等待打包完成
### 方法二:手动打包
1. 打开命令提示符切换到backend目录
2. 运行打包脚本:
```bash
python build_exe.py
```
### 方法三直接使用PyInstaller
```bash
# 生成spec文件
pyinstaller --onefile --windowed --name=BodyBalanceBackend app.py
# 或使用自定义spec文件
pyinstaller backend.spec --clean --noconfirm
```
## 📁 输出文件结构
打包完成后,在 `dist/` 目录下会生成:
```
dist/
├── BodyBalanceBackend.exe # 主可执行文件
├── start_backend.bat # 启动脚本
├── config.ini # 配置文件
├── config.json # JSON配置文件
└── logs/ # 日志目录(运行时创建)
```
## 🔧 配置说明
### PyInstaller配置 (backend.spec)
- **--onefile**: 打包成单个exe文件
- **--windowed**: 隐藏控制台窗口(可选)
- **--add-data**: 包含数据文件
- **--add-binary**: 包含二进制文件如DLL
- **--hidden-import**: 包含隐式导入的模块
### 包含的文件
- 配置文件:`config.ini`, `config.json`
- 动态库:`dll/k4a.dll`(如果存在)
- 数据目录:`data/`, `captured_images/`, `tests/`
## 🚀 部署和运行
### 1. 部署到目标机器
1. 将整个 `dist/` 文件夹复制到目标机器
2. 确保目标机器安装了必要的运行时库
### 2. 运行方式
**方式一:直接运行**
```bash
BodyBalanceBackend.exe
```
**方式二:使用启动脚本**
```bash
start_backend.bat
```
**方式三:命令行运行**
```bash
cd dist
BodyBalanceBackend.exe
```
### 3. 访问服务
- 服务器地址:`http://localhost:5000`
- 健康检查:`http://localhost:5000/health`
- API文档`http://localhost:5000/api/health`
## 🔍 故障排除
### 常见问题
**1. 打包失败**
- 检查Python版本是否兼容
- 确保所有依赖已正确安装
- 检查磁盘空间是否充足
**2. exe运行失败**
- 检查是否缺少Visual C++ Redistributable
- 查看logs目录下的错误日志
- 确保配置文件存在且格式正确
**3. 模块导入错误**
- 在spec文件中添加缺失的模块到 `hiddenimports`
- 检查第三方库的兼容性
**4. 文件路径问题**
- 确保所有相对路径正确
- 检查数据文件是否正确包含
### 调试方法
**1. 启用控制台输出**
修改spec文件中的 `console=True`
**2. 查看详细日志**
```bash
BodyBalanceBackend.exe --debug
```
**3. 测试模式运行**
```bash
python app.py
```
## 📝 自定义打包
### 修改打包配置
编辑 `build_exe.py` 文件,可以自定义:
- 输出文件名
- 包含的文件和目录
- 隐式导入的模块
- 图标文件
### 添加新的依赖
1.`requirements_build.txt` 中添加新依赖
2. 在spec文件的 `hiddenimports` 中添加模块名
3. 重新打包
## 🔒 安全注意事项
1. **配置文件安全**:确保配置文件中不包含敏感信息
2. **网络安全**:默认绑定所有接口(0.0.0.0),生产环境建议修改
3. **文件权限**确保exe文件有适当的执行权限
## 📞 技术支持
如果遇到问题,请检查:
1. 日志文件:`logs/backend.log`
2. 系统要求是否满足
3. 依赖版本是否兼容
---
**注意**:首次打包可能需要较长时间,请耐心等待。建议在虚拟环境中进行打包以避免依赖冲突。