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

PyInstaller打包含easyOCR的Python程序体积过大求助

体积变化是否正常?

这种体积增长是正常现象。easyOCR底层依赖PyTorch框架,还会打包自带的预训练识别模型(包括多语言权重文件),同时它本身还依赖numpy、Pillow等多个额外依赖库,这些组件的体积总和远超过opencv和pywin32的体积,所以从54MB涨到323MB完全符合预期。

减小可执行文件体积的方法

  • 指定仅需的语言模型:easyOCR默认打包多语言模型,若你只需要识别特定语言(比如仅简体中文),在代码中初始化Reader时指定lang_list参数,示例:
    reader = easyocr.Reader(['ch_sim'])
    
    这样PyInstaller只会打包对应语言的模型文件,能大幅降低体积。
  • 排除冗余依赖模块:查看打包日志,找出项目未使用的依赖模块,用pyinstaller的--exclude-module参数排除。比如确认不需要PyTorch的CUDA相关组件时,可添加--exclude-module torch.cuda(需确保不影响功能)。
  • 取消--onefile打包模式:--onefile会将所有依赖打包为单个可执行文件,运行时需解压至临时目录,打包后的体积会包含解压所需的额外结构。改用默认的文件夹模式(移除--onefile参数),能避免这类冗余,实际总占用空间更小。
  • 使用UPX压缩:PyInstaller支持通过UPX工具压缩可执行文件,提前下载UPX后,在打包命令中添加--upx-dir [UPX工具所在路径]参数,可对打包产物进行无损压缩,进一步减小体积。
  • 使用纯净虚拟环境打包:创建仅安装项目必需依赖的虚拟环境,避免打包进无关的库文件,从源头减少冗余。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.23 23:59:57