Files
WQ_GUI/docs/README_py2exe.md
2026-04-08 15:25:08 +08:00

140 lines
3.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 使用py2exe打包水质分析GUI应用
## 概述
本项目现在支持使用py2exe进行打包这是一个专门用于Windows的Python打包工具。
## 文件说明
- `setup_py2exe.py` - py2exe的配置文件包含所有依赖和打包设置
- `install_py2exe.bat` - 安装py2exe的批处理脚本
- `check_conda.bat` - 诊断工具检查conda安装和配置
- `build_with_py2exe.bat` - 完整构建脚本尝试多种conda激活方法
- `build_with_py2exe_simple.bat` - 简化构建脚本使用conda run最稳定
- `build_with_py2exe.ps1` - PowerShell构建脚本自动查找conda路径
## 快速开始
### 方法1使用PowerShell脚本推荐
右键运行 `build_with_py2exe.ps1` 并选择"使用PowerShell运行"它会自动查找conda并处理所有步骤。
### 方法2使用简单构建脚本
双击运行 `build_with_py2exe_simple.bat`,它使用 `conda run` 方法,最稳定可靠。
### 方法3使用完整构建脚本
双击运行 `build_with_py2exe.bat`它会尝试多种conda激活方法。
### 方法4诊断问题
如果构建失败,首先双击运行 `check_conda.bat` 来诊断conda安装和配置问题。
### 方法5手动步骤
1. **安装py2exe**
```cmd
cd /d E:\code\WQ\fengzhuang
conda activate insect
conda install -c conda-forge py2exe -y
```
2. **运行打包**
```cmd
python setup_py2exe.py py2exe
```
## 输出目录
打包完成后,可执行文件将在 `dist_py2exe/` 目录中:
- `water_quality_gui.exe` - 主程序
- 相关依赖文件
## 配置说明
### 包含的模块
- **科学计算**numpy, scipy, OpenCV
- **地理数据**GDAL, OGR
- **机器学习**XGBoost
- **图像处理**PIL/Pillow, matplotlib
- **GUI**tkinter
- **项目模块**:所有自定义模块
### 数据文件
- `icons/` - 图标文件
- `sub/` - 子目录文件
- `example_config.json` - 配置文件
- `xgboost.dll` - XGBoost动态库
### 排除的模块
排除了大量标准库和测试模块以减小包体积。
## 故障排除
### 0. Conda环境激活失败
**错误信息**`'conda' 不是内部或外部命令`
**解决方案**
1. **推荐**:使用 `build_with_py2exe_simple.bat` 而不是 `build_with_py2exe.bat`
2. 手动初始化conda
```cmd
conda init cmd.exe
```
然后关闭并重新打开命令提示符
3. 检查conda是否在PATH中
```cmd
conda --version
```
4. 如果conda不在PATH中请重新安装Anaconda/Miniconda
### 1. 导入错误
如果运行时出现模块导入错误,可能需要:
- 检查conda环境是否正确
- 添加缺失的模块到 `includes` 列表
- 移除不需要的模块从 `excludes` 列表
### 2. 文件缺失
如果数据文件缺失:
- 检查源文件路径是否正确
- 确认文件存在于项目目录中
### 3. DLL错误
如果出现DLL相关错误
- 检查XGBoost DLL路径
- 添加缺失的DLL到 `dll_excludes` 列表
## 自定义配置
如需修改打包配置,请编辑 `setup_py2exe.py` 文件:
- **添加模块**:在 `packages` 或 `includes` 中添加
- **添加数据文件**:修改 `data_files` 列表
- **排除模块**:在 `excludes` 中添加
- **优化设置**
- `bundle_files`: 1 (单文件), 2 (单目录), 3 (分离)
- `compressed`: True/False (压缩)
- `optimize`: 0, 1, 2 (优化级别)
## 与PyInstaller的比较
| 特性 | py2exe | PyInstaller |
|------|--------|-------------|
| 单文件打包 | 支持 | 支持 |
| Windows专用 | 是 | 跨平台 |
| 包体积 | 较小 | 较大 |
| 兼容性 | 良好 | 优秀 |
| 配置复杂度 | 中等 | 简单 |
## 技术支持
如果遇到问题,请检查:
1. Python版本兼容性
2. conda环境配置
3. 依赖包版本
4. 系统环境变量