Initial commit of WQ_GUI

This commit is contained in:
2026-04-08 15:25:08 +08:00
commit 91e36407ae
302 changed files with 40872 additions and 0 deletions

139
docs/README_py2exe.md Normal file
View File

@ -0,0 +1,139 @@
# 使用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. 系统环境变量