109 lines
2.5 KiB
Markdown
109 lines
2.5 KiB
Markdown
# Windows构建问题修复指南
|
||
|
||
## 🔧 已修复的问题
|
||
|
||
### 1. Hidden import 'numpy.core._methods' not found
|
||
**解决方案**: 在spec文件中添加了完整的numpy隐藏导入
|
||
```python
|
||
'numpy.core._methods',
|
||
'numpy.core._dtype_ctypes',
|
||
'numpy.core._internal',
|
||
```
|
||
|
||
### 2. Hidden import "jinja2" not found
|
||
**解决方案**: 添加了jinja2相关导入
|
||
```python
|
||
'jinja2',
|
||
'jinja2.ext',
|
||
'markupsafe',
|
||
```
|
||
|
||
### 3. Library not found: msvcp140-1a0962f2a91a74c6d7136a768987a591.dll
|
||
**解决方案**:
|
||
- 禁用UPX压缩 (`upx=False`)
|
||
- 添加pandas完整依赖收集
|
||
- 使用`--collect-all=pandas`选项
|
||
|
||
## 🚀 使用修复后的构建脚本
|
||
|
||
### 方法1: 简化构建(推荐)
|
||
```bash
|
||
# Windows批处理
|
||
build_simple.bat
|
||
|
||
# 或直接运行Python脚本
|
||
python simple_windows_build.py
|
||
```
|
||
|
||
### 方法2: 完整构建
|
||
```bash
|
||
# 先测试环境
|
||
python test_build.py
|
||
|
||
# 运行完整构建
|
||
python windows_build.py
|
||
```
|
||
|
||
## ⚠️ 重要修复
|
||
|
||
### PyInstaller选项冲突问题
|
||
**问题**: `option(s) not allowed` 错误
|
||
**原因**: 使用spec文件时不能同时使用某些命令行选项
|
||
**解决**: 将所有配置写入spec文件,命令行只保留基本选项
|
||
|
||
```python
|
||
# ❌ 错误用法
|
||
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所有模块
|
||
|
||
### 关键隐藏导入
|
||
```python
|
||
'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文件(如果存在)
|