paddleOCR 打包 成功解决方案

本人所用的环境为win11
python3.7

首先第一步运行pyinstaller -D xxx.py

打包完成后运行会遇到第一个问题

在这里插入图片描述
这个问题的解决方案是因为setuptools工具版本太高重新安装58.0.0版本可以解决此问题

pip install setuptools==58.0.0

    
    
  • 1

接着会遇到第二个问题

(截图丢失)

# No module named 'framework_pb2'

    
    
  • 1

这个问题的解决方案是

将在你环境中的Lib下的site-packages下面的paddle中fluid中的proto拷贝到你打包好的文件目录下面的paddle中的fliud中
本人的是D:\python\imgScan\venv\Lib\site-packages\paddle\fluid\proto
放到
D:\python\imgScan\dist\imgGrab\paddle\fluid中即可

    
    
  • 1
  • 2
  • 3
  • 4

接着第三个问题

在这里插入图片描述

这个问题的解决方案是

将在你环境中的Lib下的site-packages下面的paddleocr中的ppocr拷贝到你打包好的文件目录和exe同级
本人的是D:\python\imgScan\venv\Lib\site-packages\paddleocr\ppocr
放到D:\python\imgScan\dist\imgGrab中即可
  • 1
  • 2
  • 3
  • 4

接下来第四个问题

在这里插入图片描述

这个问题的解决方案是

在生成的spec文件中的hiddenimports中添加
hiddenimports=['framework_pb2','scipy.special.cython_special','skimage','skimage.feature._orb_descriptor_positions','skimage.filters.edges']

 
 
  • 1
  • 2

补充的问题

在这里插入图片描述

解决方案是更改paddle下面dataset里面的image.py
改成这样

在这里插入图片描述

还有一个

这个在生成的spec文件中的pathex中添加,记得路径换成自己的环境路径

pathex=['D:/python/JobRunner/venv/Lib/site-packages/paddleocr', 'D:/python/JobRunner/venv/Lib/site-packages/paddle/libs'],

 
 
  • 1

最后问题解决

如果遇到和我一样的问题,可以参考此方案解决

附赠一个完整的打包命令

 pyinstaller .\JobTest.py --add-data="venv/Lib/site-packages/paddle/fluid/proto;paddle/fluid/proto" --add-data="venv/Lib/site-packages/paddleocr/ppocr;ppocr" --add
-binary="venv/Lib/site-packages/paddle/libs;." --hidden-import="framework_pb2" --hidden-import="scipy.special.cython_special" --hidden-import="skimage" --hidden-import="skimage.feature._
orb_descriptor_positions" --hidden-import="skimage.filters.edges" -p="D:/python/JobRunner/venv/Lib/site-packages/paddleocr;D:/python/JobRunner/venv/Lib/site-packages/paddle/libs" -F
  • 1
  • 2
  • 3
  • 4
  • 5
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
PaddleOCR是一个开源的OCR(Optical Character Recognition)工具,可以用于识别图片或视频中的文字,并将其转换为可编辑和可搜索的文本。如果要将PaddleOCR进行打包,主要可以分为以下几个步骤。 首先,安装相关的依赖。在打包前,确保已经正确安装了PaddlePaddlePaddleOCR,并且可以正常使用。 其次,准备源代码和数据。将PaddleOCR的源代码和所有相关的数据准备好,包括预训练模型、词典等。 然后,进行代码优化和调整。根据需要,对PaddleOCR的源代码进行优化和调整,以满足打包后的需求。例如,可以删除一些不必要的模块或函数,减少打包后的体积。 接下来,进行资源文件的打包。将所有需要的资源文件,包括源代码、预训练模型、词典等,放入一个目录中,并进行压缩打包,生一个可执行的文件。 最后,进行测试和验证。运行打包后的文件,确保可以正常识别图片或视频中的文字,并输出正确的结果。 需要注意的是,由于PaddleOCR体积较大,如果要将其打包一个单独的可执行文件,可能会面临一些挑战。可以考虑使用技术手段,如二进制重定位、代码压缩等,来减小打包后的体积。另外,还要确保打包后的文件的兼容性和稳定性,以便在不同的环境中运行和部署。 总之,打包PaddleOCR需要准备源代码和数据,进行代码优化和资源文件的打包,最后进行测试和验证,以确保打包后能够正常使用。这样就能够方便地将PaddleOCR应用到不同的环境和场景中,实现文字识别的功能。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值