diff --git a/Windows部署说明.md b/Windows部署说明.md new file mode 100644 index 0000000..3c8f37f --- /dev/null +++ b/Windows部署说明.md @@ -0,0 +1,284 @@ +# 座位分配系统 - Windows部署说明 + +## 目录 +- [概述](#概述) +- [系统要求](#系统要求) +- [开发者构建指南](#开发者构建指南) +- [用户使用指南](#用户使用指南) +- [故障排除](#故障排除) +- [技术支持](#技术支持) + +## 概述 + +本文档说明如何在Windows系统上构建和部署座位分配系统。该系统支持1-10人连坐需求,能够处理不连续座位分配。 + +**主要功能:** +- 智能座位分配算法 +- 支持连坐组合(1-10人) +- 完整的文件校验 +- 详细的分配日志 +- 用户友好的命令行界面 + +## 系统要求 + +### 开发环境要求 +- **操作系统**: Windows 7/10/11 (64位) +- **Python版本**: Python 3.8 或更高版本 +- **内存**: 至少 2GB RAM +- **磁盘空间**: 至少 500MB 可用空间 +- **网络**: 需要网络连接以下载依赖包 + +### 运行环境要求(最终用户) +- **操作系统**: Windows 7/10/11 (64位) +- **内存**: 至少 1GB RAM +- **磁盘空间**: 至少 100MB 可用空间 +- **Excel**: Microsoft Excel 2010 或更高版本(查看结果文件) + +## 开发者构建指南 + +### 1. 环境准备 + +#### 1.1 安装Python +从 [Python官网](https://www.python.org/downloads/) 下载并安装Python 3.8+ + +确保安装时勾选: +- ✅ Add Python to PATH +- ✅ Install pip + +#### 1.2 验证安装 +```cmd +python --version +pip --version +``` + +### 2. 下载源代码 + +```cmd +git clone +cd TableSynthesis +``` + +### 3. 自动构建(推荐) + +#### 3.1 运行构建脚本 +```cmd +python windows_build.py +``` + +构建脚本将自动完成: +- ✅ 检查系统环境 +- ✅ 安装必要依赖 +- ✅ 构建独立exe文件 +- ✅ 创建分发包 + +#### 3.2 构建输出 +构建成功后,会生成: +``` +座位分配系统_Windows_分发包/ +├── 座位分配系统.exe # 主程序 +├── 运行座位分配系统.bat # 启动脚本 +├── 使用说明.txt # 使用说明 +├── 人员信息_示例.xlsx # 示例文件 +└── 座位信息_示例.xlsx # 示例文件 +``` + +### 4. 手动构建(可选) + +如果自动构建失败,可以手动构建: + +#### 4.1 安装依赖 +```cmd +pip install pandas>=1.3.0 openpyxl>=3.0.0 numpy>=1.20.0 pyinstaller>=4.0 +``` + +#### 4.2 使用PyInstaller构建 +```cmd +pyinstaller --clean --noconfirm seat_allocation.spec +``` + +#### 4.3 手动创建分发包 +```cmd +mkdir 座位分配系统_Windows_分发包 +copy dist\座位分配系统.exe 座位分配系统_Windows_分发包\ +copy 人员信息.xlsx 座位分配系统_Windows_分发包\人员信息_示例.xlsx +copy 座位信息.xlsx 座位分配系统_Windows_分发包\座位信息_示例.xlsx +copy 运行座位分配系统.bat 座位分配系统_Windows_分发包\ +``` + +## 用户使用指南 + +### 1. 获取分发包 + +从开发者处获取 `座位分配系统_Windows_分发包` 文件夹,或下载已构建的发布版本。 + +### 2. 准备数据文件 + +#### 2.1 复制示例文件 +``` +人员信息_示例.xlsx → 人员信息.xlsx +座位信息_示例.xlsx → 座位信息.xlsx +``` + +#### 2.2 填写人员信息.xlsx + +**必需列:** +- **姓名**: 人员姓名 +- **证件类型**: 身份证、护照等 +- **证件号**: 证件号码 +- **手机号**: 联系电话 +- **备注**: 连坐人数(留空表示单独坐) + +**连坐规则:** +- 单人坐位:备注列留空 +- 连坐组合:第一人填写总人数,其他人留空 + +**示例:** +| 姓名 | 证件类型 | 证件号 | 手机号 | 备注 | +|------|----------|--------|--------|------| +| 张三 | 身份证 | 123456789012345678 | 13800138000 | 3 | +| 李四 | 身份证 | 123456789012345679 | 13800138001 | | +| 王五 | 身份证 | 123456789012345680 | 13800138002 | | +| 赵六 | 身份证 | 123456789012345681 | 13800138003 | | + +上述示例表示:张三、李四、王五需要3人连坐,赵六单独坐。 + +#### 2.3 填写座位信息.xlsx + +**必需列:** +- **区域**: 座位区域(如"A区"、"B区") +- **楼层**: 楼层信息(如"1层"、"2层") +- **排号**: 排号(如"第1排"、"第2排") +- **座位号**: 具体座位号(如"1号"、"2号") + +**示例:** +| 区域 | 楼层 | 排号 | 座位号 | +|------|------|------|--------| +| A区 | 1层 | 第1排 | 1号 | +| A区 | 1层 | 第1排 | 2号 | +| A区 | 1层 | 第1排 | 3号 | + +### 3. 运行程序 + +#### 3.1 推荐方式(使用bat脚本) +双击 `运行座位分配系统.bat` + +脚本会自动: +- ✅ 检查环境和文件 +- ✅ 提供友好的错误提示 +- ✅ 运行主程序 +- ✅ 显示运行结果 + +#### 3.2 直接运行 +双击 `座位分配系统.exe` + +### 4. 查看结果 + +程序运行成功后,会生成以下文件: + +- **座位信息_最终分配.xlsx**: 最终座位分配结果 +- **最终座位分配日志.xlsx**: 详细分配记录 +- **seat_allocation_log.txt**: 运行日志 + +使用Excel打开xlsx文件查看分配结果。 + +## 故障排除 + +### 常见问题 + +#### Q1: 程序无法启动 +**可能原因:** +- 系统不兼容(需要Windows 7+) +- 缺少Visual C++ Redistributable + +**解决方案:** +1. 确认系统版本:Windows 7/10/11 64位 +2. 下载安装 [Microsoft Visual C++ Redistributable](https://aka.ms/vs/17/release/vc_redist.x64.exe) + +#### Q2: 提示缺少依赖包 +**可能原因:** +- 网络连接问题 +- 权限不足 + +**解决方案:** +1. 确保网络连接正常 +2. 以管理员身份运行 +3. 手动安装:`pip install pandas openpyxl numpy` + +#### Q3: 文件权限错误 +**可能原因:** +- Excel文件被占用 +- 程序目录只读 + +**解决方案:** +1. 关闭所有Excel窗口 +2. 确保程序目录有写入权限 +3. 避免在系统盘根目录运行 + +#### Q4: 数据文件格式错误 +**可能原因:** +- 列名不匹配 +- 数据类型错误 +- 编码问题 + +**解决方案:** +1. 对照示例文件检查列名 +2. 确保数据格式正确 +3. 使用UTF-8编码保存 + +#### Q5: 无法找到连续座位 +**可能原因:** +- 座位信息不连续 +- 连坐组过大 + +**解决方案:** +1. 检查座位信息的连续性 +2. 适当调整连坐组大小 +3. 增加座位数量 + +### 日志分析 + +查看 `seat_allocation_log.txt` 文件可获取详细错误信息: + +- **文件加载错误**: 检查文件路径和格式 +- **数据校验错误**: 检查数据完整性 +- **分配算法错误**: 检查座位和人员匹配 + +### 性能优化 + +#### 大数据处理 +- **人员数量**: 建议不超过1000人 +- **座位数量**: 建议不超过2000个 +- **连坐组大小**: 建议不超过8人 + +#### 内存使用 +- 小型场景(<100人): 约50MB内存 +- 中型场景(100-500人): 约100MB内存 +- 大型场景(500-1000人): 约200MB内存 + +## 技术支持 + +### 获取帮助 + +1. **查看日志文件**: `seat_allocation_log.txt` +2. **检查使用说明**: `使用说明.txt` +3. **参考示例文件**: 确保数据格式正确 + +### 报告问题 + +报告问题时,请提供: +- 系统信息(操作系统版本) +- 错误截图或错误信息 +- 数据文件(脱敏后) +- seat_allocation_log.txt 内容 + +### 更新与维护 + +- 定期检查更新版本 +- 备份重要数据文件 +- 保持系统和依赖包更新 + +--- + +**版本**: v1.0 +**最后更新**: 2024年12月 +**兼容性**: Windows 7/10/11 (64位) \ No newline at end of file