Python EXE2.0.2 python程序可视化打包工具(修复bug)
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 这个工具我找到的也不错开源的SoEasyPack
此项目受PyStand和PythonSizeCruncher启发。
不需要复制嵌入式包,也不必再二次瘦身,一次打包理论上就是最小依赖文件数
用简易的方式复制你的python项目并自动精准匹配环境依赖,几乎没有什么多余文件, 并且可以生成一个exe启动器启动项目。(用go语言编译,已内置简化过的go环境)
快速/普通模式原理:使用微软procmon进程监控工具(已内置),监控项目运行时访问的文件记录
仅支持windows,且仅在windows10和11上测试过
打包工具 打包后大小
nuitka 2.5.9打包 67.9M
PyStand仅删除pip文件夹 56.9M
Pyinstaller 6.11.1打包缺依赖 补上后 49.3M
soeasypack的ast模式打包 43.7M
soeasypack的快速模式打包 33.5M
soeasypack的普通模式打包 33.5M
soeasypack的单exe模式打包 16.3M 好东西 谢谢分享 这个是打包python的 有需要的 我以后可以写一个 图上目录路径,为啥都是反斜杠/,windows路径不都是用 \ 的么? 看起来像是轮子项目,此前auto-py-exe就已经很好用了 这个是好工具啊!!! @axiuge
这种cmd命令 需要什么工具打包? 是不是也可以?
ANSI编码模式无乱码
@echo off
setlocal enabledelayedexpansion
REM 设置代码页为中文GBK以正确显示字符
chcp 936 >nul
REM 检查是否拖放了文件夹
if "%~1"=="" (
echo 错误:请将文件夹拖放到此脚本上。
pause
exit /b
)
REM 验证路径是否存在且为文件夹
if not exist "%~1\" (
echo 错误:路径不存在或不是文件夹。
pause
exit /b
)
REM 设置输入输出路径
set "input_dir=%~1"
if "!input_dir:~-1!"=="\" set "input_dir=!input_dir:~0,-1!"
set "output_dir=!input_dir!_out"
REM 创建输出目录
if not exist "!output_dir!\" mkdir "!output_dir!" >nul 2>&1
echo 正在扫描视频文件,请稍候...
REM 定义视频扩展名列表
set "extensions=*.avi *.mp4 *.mkv *.mov *.wmv *.flv *.webm *.m4v *.3gp *.ts"
REM 获取文件总数并生成临时列表
set "temp_file=%temp%\%random%.tmp"
type nul > "%temp_file%"
set /a total=0
for /r "%input_dir%" %%f in (%extensions%) do (
echo %%f >> "%temp_file%"
set /a total+=1
)
if !total! equ 0 (
echo 未找到任何视频文件。
del "%temp_file%" >nul 2>&1
pause
exit /b
)
echo 共找到 !total! 个视频文件
echo ----------------------------
REM 字幕配置区域
set "FONT=font.ttf"
set "TEXT1=集集集集集集集集 ,"
set "TEXT2=信信信信信信信信:"
set "TEXT3=+8+8+8+8+8+8"
set "SPEED=10"
set "SPACING=100"
REM 处理文件并显示进度
set /a processed=0
for /f "usebackq delims=" %%f in ("%temp_file%") do (
set /a processed+=1
set "input_file=%%f"
set "output_path=!input_file:%input_dir%=%output_dir%!"
REM 创建子目录结构(保留空格)
for %%A in ("!output_path!") do set "out_dir=%%~dpA"
if not exist "!out_dir!" (
mkdir "!out_dir!" >nul 2>&1 || (
echo [错误] 无法创建目录: "!out_dir!"
pause
exit /b 1
)
)
echo [处理中] [!processed!/!total!] 正在处理 "!input_file!"
REM 执行FFmpeg命令
ffmpeg -hwaccel auto -i "!input_file!" ^
-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)'" ^
-c:a copy -f mp4 "!output_path!" -y >nul 2>&1
REM 错误处理
if errorlevel 1 (
echo [错误] 处理失败:!input_file!
) else (
echo 成功生成:!output_path!
)
)
del "%temp_file%" >nul 2>&1
echo ----------------------------
echo 所有文件处理完成!
echo 输出目录:!output_dir!
pause 我是一名小白,
我是这样操作的,利用deepseek生成一段python代码。拷贝到记事本扩展名改成py。
然后使用楼主提供的程序进行打包。试了两段代码,都是提示“打包过程出错,系统找不到指定文件”
请问是我电脑缺少什么的支持吗? 好东西,学习一下
页:
[1]
2