项目基本完成
This commit is contained in:
parent
18d7a4d0a1
commit
b437f3ffc1
284
Windows部署说明.md
Normal file
284
Windows部署说明.md
Normal file
@ -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 <repository-url>
|
||||||
|
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位)
|
Loading…
Reference in New Issue
Block a user