Python EXE2.0.2 python程序可视化打包工具(修复bug)

[复制链接]
180 |11
发表于 2025-10-31 01:17:21 | 显示全部楼层 |阅读模式
Python ExE 打包工具 使用说明

1. 软件简介

本工具是一款基于PyQt5开发的多模式Python打包工具,支持快速、普通、经典(onedir)、AST四种打包模式,集成常用参数、资源管理、UPX压缩、兼容性声明、日志分析等功能,适合新手和进阶用户高效生成标准EXE产物。


2. 主要功能

    多打包模式:快速、普通、经典、AST,适配不同项目需求。常用参数区:一键勾选单文件、无控制台、图标、资源、UPX等。兼容性声明:支持为EXE注入指定Windows版本manifest,提升兼容性。UPX压缩:自动检测/下载UPX,支持一键压缩EXE体积。资源管理:支持多选资源文件/文件夹自动生成add-data参数。模板管理:支持保存/加载/分组/描述打包模板。日志与报告:详细记录打包流程,支持体积对比报告导出。依赖与环境:依赖扫描、环境修复、一键安装打包依赖。

3. 界面说明

    主文件:选择你的Python主程序(.py)。主目录:选择输出EXE的目标目录。程序名称/版本/作者/版权:可选,体现在EXE属性。图标文件:可选,建议.ico格式。高级参数:填写PyInstaller等命令行参数。
  • 常用参数区
      单文件打包无控制台窗口指定图标包含资源文件启用UPX压缩兼容性(勾选后选择WIN7~WIN12,自动注入manifest)
    打包模式:四种模式单选,右侧日志区有详细说明。模板管理:支持保存、加载、分组、描述。日志区:实时输出打包进度、异常、体积对比等。

4. 特色功能说明

4.1 兼容性声明

    勾选"兼容性"后,选择目标Windows版本(WIN7~WIN12)。打包完成后自动为EXE注入manifest声明,提升在目标系统下的兼容性。若本地无mt.exe,支持手动指定或自动下载(建议从官方或可信第三方获取)。
4.2 UPX压缩

    勾选"启用UPX压缩"自动检测UPX路径。未检测到时支持手动选择或自动下载最新版UPX。下载过程在后台线程进行,避免UI卡死。
4.3 资源文件管理

    勾选"包含资源文件"后可多选文件/文件夹,自动生成--add-data参数。支持资源路径自动适配。
4.4 模板与报告

    支持打包参数模板保存、分组、描述、加载。支持体积对比报告一键导出。

5. 常见问题

    打包失败/缺依赖:请检查requirements.txt、虚拟环境、依赖冲突。图标无效/找不到:请确保图标路径为绝对路径、正斜杠、无引号。UPX/mt.exe未检测到:可手动选择或自动下载,注意安全来源。兼容性声明无效:请确认目标系统版本、manifest注入是否成功。路径包含中文/特殊字符:建议使用英文路径,避免异常。

6. 更新日志

    当前版本:2.0.1主要特性:多模式打包、参数联动、UPX/兼容性自动化、日志与报告、模板管理等。

7. 下载地址

https://axiu.lanzouw.com/b02p4k4kbi
密码:apqh

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

发表于 2025-10-31 01:17:42 | 显示全部楼层
这个工具我找到的也不错开源的  SoEasyPack
此项目受PyStand和PythonSizeCruncher启发。
不需要复制嵌入式包,也不必再二次瘦身,一次打包理论上就是最小依赖文件数
用简易的方式复制你的python项目并自动精准匹配环境依赖,几乎没有什么多余文件, 并且可以生成一个exe启动器启动项目。(用go语言编译,已内置简化过的go环境)
快速/普通模式原理:使用微软procmon进程监控工具(已内置),监控项目运行时访问的文件记录
仅支持windows,且仅在windows10和11上测试过

[Asm]  
  1. 打包工具        打包后大小
  2. nuitka 2.5.9打包        67.9M
  3. PyStand仅删除pip文件夹        56.9M
  4. Pyinstaller 6.11.1打包缺依赖 补上后        49.3M
  5. soeasypack的ast模式打包        43.7M
  6. soeasypack的快速模式打包        33.5M
  7. soeasypack的普通模式打包        33.5M
  8. soeasypack的单exe模式打包        16.3M
复制代码
回复

使用道具 举报

发表于 2025-10-31 01:18:35 | 显示全部楼层
好东西 谢谢分享
回复

使用道具 举报

发表于 2025-10-31 01:19:17 | 显示全部楼层
这个是打包python的 有需要的 我以后可以写一个
回复

使用道具 举报

发表于 2025-10-31 01:20:00 | 显示全部楼层
图上目录路径,为啥都是反斜杠/,windows路径不都是用 \ 的么?
回复

使用道具 举报

发表于 2025-10-31 01:21:00 | 显示全部楼层
看起来像是轮子项目,此前auto-py-exe就已经很好用了
回复

使用道具 举报

发表于 2025-10-31 01:21:14 | 显示全部楼层
这个是好工具啊!!!
回复

使用道具 举报

发表于 2025-10-31 01:21:47 | 显示全部楼层
@axiuge

这种cmd命令 需要什么工具打包? 是不是也可以?

ANSI编码模式无乱码


[PowerShell]  
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. REM 设置代码页为中文GBK以正确显示字符
  4. chcp 936 >nul
  5. REM 检查是否拖放了文件夹
  6. if "%~1"=="" (
  7.     echo 错误:请将文件夹拖放到此脚本上。
  8.     pause
  9.     exit /b
  10. )
  11. REM 验证路径是否存在且为文件夹
  12. if not exist "%~1" (
  13.     echo 错误:路径不存在或不是文件夹。
  14.     pause
  15.     exit /b
  16. )
  17. REM 设置输入输出路径
  18. set "input_dir=%~1"
  19. if "!input_dir:~-1!"=="" set "input_dir=!input_dir:~0,-1!"
  20. set "output_dir=!input_dir!_out"
  21. REM 创建输出目录
  22. if not exist "!output_dir!" mkdir "!output_dir!" >nul 2>&1
  23. echo 正在扫描视频文件,请稍候...
  24. REM 定义视频扩展名列表
  25. set "extensions=*.avi *.mp4 *.mkv *.mov *.wmv *.flv *.webm *.m4v *.3gp *.ts"
  26. REM 获取文件总数并生成临时列表
  27. set "temp_file=%temp%\%random%.tmp"
  28. type nul > "%temp_file%"
  29. set /a total=0
  30. for /r "%input_dir%" %%f in (%extensions%) do (
  31.     echo %%f >> "%temp_file%"
  32.     set /a total+=1
  33. )
  34. if !total! equ 0 (
  35.     echo 未找到任何视频文件。
  36.     del "%temp_file%" >nul 2>&1
  37.     pause
  38.     exit /b
  39. )
  40. echo 共找到 !total! 个视频文件
  41. echo ----------------------------
  42. REM 字幕配置区域
  43. set "FONT=font.ttf"
  44. set "TEXT1=集集集集集集集集 ,"
  45. set "TEXT2=信信信信信信信信:"
  46. set "TEXT3=+8+8+8+8+8+8"
  47. set "SPEED=10"
  48. set "SPACING=100"
  49. REM 处理文件并显示进度
  50. set /a processed=0
  51. for /f "usebackq delims=" %%f in ("%temp_file%") do (
  52.     set /a processed+=1
  53.     set "input_file=%%f"
  54.     set "output_path=!input_file:%input_dir%=%output_dir%!"
  55.     REM 创建子目录结构(保留空格)
  56.     for %%A in ("!output_path!") do set "out_dir=%%~dpA"
  57.     if not exist "!out_dir!" (
  58.         mkdir "!out_dir!" >nul 2>&1 || (
  59.             echo [错误] 无法创建目录: "!out_dir!"
  60.             pause
  61.             exit /b 1
  62.         )
  63.     )
  64.     echo [处理中] [!processed!/!total!] 正在处理 "!input_file!"
  65.     REM 执行FFmpeg命令
  66.     ffmpeg -hwaccel auto -i "!input_file!" ^
  67.         -vf "drawtext=fontfile='!FONT!':text='!TEXT1!':fontsize=min(w\,h)/10:fontcolor=red:x='w - mod(t-2\,!SPEED!)*(w + text_w)/!SPEED!':y='h/2 - text_h - !SPACING!':enable='gte(t,2)*lte(t,2147483647)',drawtext=fontfile='!FONT!':text='!TEXT2!':fontsize=min(w\,h)/10:fontcolor=red:x='w - mod(t-2\,!SPEED!)*(w + text_w)/!SPEED!':y='h/2':enable='gte(t,2)*lte(t,2147483647)',drawtext=fontfile='!FONT!':text='!TEXT3!':fontsize=min(w\,h)/10:fontcolor=red:x='w - mod(t-2\,!SPEED!)*(w + text_w)/!SPEED!':y='h/2 + text_h + !SPACING!':enable='gte(t,2)*lte(t,2147483647)'" ^
  68.         -c:a copy -f mp4 "!output_path!" -y >nul 2>&1
  69.     REM 错误处理
  70.     if errorlevel 1 (
  71.         echo [错误] 处理失败:!input_file!
  72.     ) else (
  73.         echo 成功生成:!output_path!
  74.     )
  75. )
  76. del "%temp_file%" >nul 2>&1
  77. echo ----------------------------
  78. echo 所有文件处理完成!
  79. echo 输出目录:!output_dir!
  80. pause
复制代码
回复

使用道具 举报

发表于 2025-10-31 01:22:15 | 显示全部楼层
我是一名小白,
我是这样操作的,利用deepseek生成一段python代码。拷贝到记事本扩展名改成py。
然后使用楼主提供的程序进行打包。试了两段代码,都是提示“打包过程出错,[winerror 2]系统找不到指定文件”
请问是我电脑缺少什么的支持吗?
回复

使用道具 举报

发表于 2025-10-31 01:22:50 | 显示全部楼层
好东西,学习一下
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表