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

3.7 KiB
Raw Blame History

使用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

    cd /d E:\code\WQ\fengzhuang
    conda activate insect
    conda install -c conda-forge py2exe -y
    
  2. 运行打包

    python setup_py2exe.py py2exe
    

输出目录

打包完成后,可执行文件将在 dist_py2exe/ 目录中:

  • water_quality_gui.exe - 主程序
  • 相关依赖文件

配置说明

包含的模块

  • 科学计算numpy, scipy, OpenCV
  • 地理数据GDAL, OGR
  • 机器学习XGBoost
  • 图像处理PIL/Pillow, matplotlib
  • GUItkinter
  • 项目模块:所有自定义模块

数据文件

  • icons/ - 图标文件
  • sub/ - 子目录文件
  • example_config.json - 配置文件
  • xgboost.dll - XGBoost动态库

排除的模块

排除了大量标准库和测试模块以减小包体积。

故障排除

0. Conda环境激活失败

错误信息'conda' 不是内部或外部命令

解决方案

  1. 推荐:使用 build_with_py2exe_simple.bat 而不是 build_with_py2exe.bat
  2. 手动初始化conda
    conda init cmd.exe
    
    然后关闭并重新打开命令提示符
  3. 检查conda是否在PATH中
    conda --version
    
  4. 如果conda不在PATH中请重新安装Anaconda/Miniconda

1. 导入错误

如果运行时出现模块导入错误,可能需要:

  • 检查conda环境是否正确
  • 添加缺失的模块到 includes 列表
  • 移除不需要的模块从 excludes 列表

2. 文件缺失

如果数据文件缺失:

  • 检查源文件路径是否正确
  • 确认文件存在于项目目录中

3. DLL错误

如果出现DLL相关错误

  • 检查XGBoost DLL路径
  • 添加缺失的DLL到 dll_excludes 列表

自定义配置

如需修改打包配置,请编辑 setup_py2exe.py 文件:

  • 添加模块:在 packagesincludes 中添加
  • 添加数据文件:修改 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. 系统环境变量