项目基本完成
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