138 lines
3.7 KiB
Batchfile
138 lines
3.7 KiB
Batchfile
@echo off
|
|
chcp 65001 >nul
|
|
echo ================================
|
|
echo 座位分配系统 Windows 打包脚本
|
|
echo ================================
|
|
echo.
|
|
|
|
:: 检查Python是否安装
|
|
python --version >nul 2>&1
|
|
if %errorlevel% neq 0 (
|
|
echo [错误] Python未安装或不在PATH中
|
|
echo 请先安装Python 3.7+
|
|
pause
|
|
exit /b 1
|
|
)
|
|
|
|
echo [信息] 检查Python版本...
|
|
python --version
|
|
|
|
:: 检查pip是否可用
|
|
pip --version >nul 2>&1
|
|
if %errorlevel% neq 0 (
|
|
echo [错误] pip不可用
|
|
pause
|
|
exit /b 1
|
|
)
|
|
|
|
:: 安装PyInstaller
|
|
echo.
|
|
echo [步骤1] 安装PyInstaller...
|
|
pip install pyinstaller
|
|
|
|
:: 检查PyInstaller是否安装成功
|
|
pyinstaller --version >nul 2>&1
|
|
if %errorlevel% neq 0 (
|
|
echo [错误] PyInstaller安装失败
|
|
pause
|
|
exit /b 1
|
|
)
|
|
|
|
:: 创建build目录
|
|
echo.
|
|
echo [步骤2] 创建构建目录...
|
|
if not exist "build" mkdir build
|
|
if not exist "dist" mkdir dist
|
|
|
|
:: 安装依赖包
|
|
echo.
|
|
echo [步骤3] 安装依赖包...
|
|
pip install pandas numpy openpyxl
|
|
|
|
:: 打包主程序
|
|
echo.
|
|
echo [步骤4] 开始打包座位分配系统...
|
|
pyinstaller --onefile ^
|
|
--console ^
|
|
--name "座位分配系统" ^
|
|
--icon=icon.ico ^
|
|
--add-data "README.md;." ^
|
|
--distpath "dist" ^
|
|
--workpath "build" ^
|
|
--specpath "build" ^
|
|
--clean ^
|
|
seat_allocation_system.py
|
|
|
|
:: 检查打包是否成功
|
|
if exist "dist\座位分配系统.exe" (
|
|
echo.
|
|
echo [成功] 打包完成!
|
|
echo 可执行文件位置: dist\座位分配系统.exe
|
|
|
|
:: 创建发布目录
|
|
echo.
|
|
echo [步骤5] 创建发布包...
|
|
if not exist "release" mkdir release
|
|
|
|
:: 复制可执行文件
|
|
copy "dist\座位分配系统.exe" "release\"
|
|
|
|
:: 创建示例文件夹
|
|
if not exist "release\示例文件" mkdir "release\示例文件"
|
|
|
|
:: 复制示例文件(如果存在)
|
|
if exist "人员信息_示例.xlsx" copy "人员信息_示例.xlsx" "release\示例文件\"
|
|
if exist "座位信息_示例.xlsx" copy "座位信息_示例.xlsx" "release\示例文件\"
|
|
|
|
:: 创建使用说明
|
|
echo.
|
|
echo [步骤6] 创建使用说明...
|
|
(
|
|
echo 座位分配系统 v2.0
|
|
echo ==================
|
|
echo.
|
|
echo 使用方法:
|
|
echo 1. 将人员信息和座位信息的Excel文件放在程序同一目录下
|
|
echo 2. 双击运行"座位分配系统.exe"
|
|
echo 3. 按照提示操作
|
|
echo.
|
|
echo 文件要求:
|
|
echo - 人员信息文件:包含姓名、证件类型、证件号、手机号、备注等列
|
|
echo - 座位信息文件:包含区域、楼层、排号、座位号等列
|
|
echo.
|
|
echo 输出文件:
|
|
echo - log/座位信息_最终分配.xlsx (分配结果)
|
|
echo - log/最终座位分配日志.xlsx (详细日志)
|
|
echo - log/seat_allocation_log.txt (运行日志)
|
|
echo.
|
|
echo 注意事项:
|
|
echo - 程序支持智能文件识别
|
|
echo - 支持1-10人连坐需求
|
|
echo - 支持备注分组和手机号分组两种模式
|
|
echo.
|
|
echo 如有问题请查看日志文件
|
|
) > "release\使用说明.txt"
|
|
|
|
echo.
|
|
echo ================================
|
|
echo 打包完成!
|
|
echo ================================
|
|
echo.
|
|
echo 发布文件位置: release\
|
|
echo 主程序: release\座位分配系统.exe
|
|
echo 使用说明: release\使用说明.txt
|
|
echo 示例文件: release\示例文件\
|
|
echo.
|
|
echo 您可以将整个release文件夹分发给用户
|
|
|
|
) else (
|
|
echo.
|
|
echo [错误] 打包失败!
|
|
echo 请检查错误信息并重试
|
|
pause
|
|
exit /b 1
|
|
)
|
|
|
|
echo.
|
|
echo 按任意键继续...
|
|
pause >nul |