2.5 KiB
2.5 KiB
Windows构建问题修复指南
🔧 已修复的问题
1. Hidden import 'numpy.core._methods' not found
解决方案: 在spec文件中添加了完整的numpy隐藏导入
'numpy.core._methods',
'numpy.core._dtype_ctypes',
'numpy.core._internal',
2. Hidden import "jinja2" not found
解决方案: 添加了jinja2相关导入
'jinja2',
'jinja2.ext',
'markupsafe',
3. Library not found: msvcp140-1a0962f2a91a74c6d7136a768987a591.dll
解决方案:
- 禁用UPX压缩 (
upx=False
) - 添加pandas完整依赖收集
- 使用
--collect-all=pandas
选项
🚀 使用修复后的构建脚本
方法1: 简化构建(推荐)
# Windows批处理
build_simple.bat
# 或直接运行Python脚本
python simple_windows_build.py
方法2: 完整构建
# 先测试环境
python test_build.py
# 运行完整构建
python windows_build.py
⚠️ 重要修复
PyInstaller选项冲突问题
问题: option(s) not allowed
错误
原因: 使用spec文件时不能同时使用某些命令行选项
解决: 将所有配置写入spec文件,命令行只保留基本选项
# ❌ 错误用法
cmd = ['pyinstaller', '--collect-all=pandas', 'file.spec']
# ✅ 正确用法
cmd = ['pyinstaller', '--clean', '--noconfirm', 'file.spec']
📋 构建选项说明
PyInstaller命令行选项
--clean
: 清理缓存--noconfirm
: 不询问确认--log-level=INFO
: 详细日志--collect-all=pandas
: 收集pandas所有模块--collect-all=numpy
: 收集numpy所有模块--collect-all=openpyxl
: 收集openpyxl所有模块
关键隐藏导入
'numpy.core._methods',
'pandas._libs.window.aggregations',
'ctypes.util',
'pkg_resources.py2_warn',
⚠️ 常见问题
1. 构建时间长
- 正常现象,首次构建可能需要5-10分钟
- 后续构建会使用缓存,速度更快
2. 文件大小大
- 包含完整Python环境和所有依赖
- 可以通过排除不必要的模块来减小大小
3. 警告信息
- 大部分WARNING可以忽略
- 只要没有ERROR,构建通常能成功
🎯 构建成功标志
✅ 构建成功! 耗时: XX.X秒
✅ 生成文件: dist/座位分配系统.exe
✅ 文件大小: XX.X MB
📦 分发包内容
构建成功后会生成:
座位分配系统_Windows_分发包/
座位分配系统.exe
- 主程序README.txt
- 使用说明示例文件/
- 示例Excel文件(如果存在)