You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何减小PyInstaller打包音频转写NLP应用生成的可执行文件体积

减小打包后可执行文件体积的可行方案
  • 清理冗余依赖
    你当前的依赖清单包含大量未实际使用的包、开发工具类包,这些是不必要的体积来源:
    1. 移除打包工具类依赖:pyinstaller、pyinstaller-hooks-contrib属于打包工具,不属于程序运行必须依赖,需要从运行环境中删除,避免被误打包
    2. 移除未使用的第三方包:对比导入清单,requests、certifi、charset-normalizer、idna、urllib3、click、colorama、future、protobuf均未被导入,可以全部卸载
  • 优化torch依赖体积
    torch是你当前体积超标的核心来源,完整版torch体积普遍在300MB以上:
    1. 替换为CPU-only的精简版torch,移除cuda相关的冗余组件,单这一步就能减少至少200MB的体积
    2. 打包时添加参数--exclude-module torch.cuda,手动排除torch中你用不到的cuda相关模块
  • 外置预训练模型
    你用到的stanza、nltk的预训练模型体积很大,不需要打包到可执行文件内部:
    1. 修改代码逻辑,首次运行时自动将模型下载到可执行文件同级的目录存储
    2. 打包时排除内置的模型文件,运行时直接读取外部目录的模型即可
  • 调整PyInstaller打包参数
    1. 开启UPX压缩:下载UPX压缩工具后,打包时添加--upx-dir 你的UPX工具所在路径参数,可额外压缩30%-50%的最终体积
    2. 添加--strip参数移除程序的调试符号,进一步减小体积
    3. 如果你使用单文件打包模式,已经是体积最小的打包方式;如果是多文件夹模式,可以换成--onefile单文件打包参数减少总占用
  • 替换重型依赖
    如果以上优化还是达不到体积要求,可以替换重型依赖进一步压缩:
    1. 仅做基础的关键词提取场景下,可以不用stanza,换成更轻量的NLP工具,直接移除torch、stanza两个超大依赖,总体积能直接降到100MB以内
    2. 如果没有特殊的音频处理需求,也可以查找pydub的轻量替代库

参考优化后打包命令示例:

pyinstaller --onefile --strip --upx-dir ./upx --exclude-module torch.cuda --exclude-module requests --exclude-module urllib3 你的主脚本名.py

内容的提问来源于stack exchange,提问作者Laila Campos

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.05 13:48:05