当前位置: 首页 > news >正文

Paddle使用pyinstaller打包出错的解决方法

使用PyQt5开发了一个基于paddle ocr的文字识别程序,打包的时候报错了。给大家分享一下解决方法https://juejin.cn/post/7287562282669883451

  • 为了测试paddle模块的打包问题,所以当前demo.py只引用了paddleOCR模块
  • demo.py
from paddleocr import PaddleOCR
def ocr_text(path):try:ocr = PaddleOCR(use_angle_cls=True, use_gpu=False)text = ocr.ocr(path, cls=True)result = []for t in text[0]:txt = t[1][0]result.append(txt)return resultexcept:passif __name__ == '__main__':ocr_text("./screen.png")
步骤一:显式导入依赖项
  • 显式导入依赖项:在你的demo.py文件中,尝试显式导入项目的依赖项,例如paddle和framework_pb2,有助于帮助pyinstaller正确识别这些依赖项。在demo.py文件的顶部添加以导入语句:
import paddle
from paddle.fluid.proto import framework_pb2
步骤二:pyinstaller的.spec文件中加入–add-data选项
  • 将paddle所需的文件包含进去。通常包括ocr的模型文件和其他依赖项。
  • --add-data选项将本地paddle路径path/to/paddle目录文件添加到生成的可执行文件中,使用;分割,./paddle代表的是生成文件的同级目录下的paddle文件中。
pyinstaller --add-data "path/to/paddle;./paddle" --add-data "path/to/paddleocr;./paddleocr" 
完成程序和打包脚本

demo.py

from paddleocr import PaddleOCR
import paddle  # 新增
from paddle.fluid.proto import framework_pb2  # 新增def ocr_text(path):try:ocr = PaddleOCR(use_angle_cls=True, use_gpu=False)text = ocr.ocr(path, cls=True)result = []for t in text[0]:txt = t[1][0]result.append(txt)return resultexcept:passif __name__ == '__main__':ocr_text("./screen.png")
  • 打包处理
    • --add-data添加选项包到程序目录中,-F将生成一个单一的可执行文件。
pyinstaller -F demo.py --add-data "path/to/paddle;./paddle" --add-data "path/to/paddleocr;./paddleocr"
http://www.lryc.cn/news/186141.html

相关文章:

  • 【Java acm】特殊输入
  • 在Ubuntu 20.04搭建最小实验环境
  • 使用uwsgi部署Flask
  • Android平台实现lottie动画
  • JAVA练习百题之求矩阵对角线之和
  • MEM备考打卡
  • 短视频矩阵源码开发部署---技术解析
  • 百度小程序制作源码 百度引流做关键词排名之技巧
  • 【计算机组成 课程笔记】7.3 高速缓存 Cache
  • vscode搭建c/c++环境
  • macOS Sonoma 14.0(23A344) 正式版带 OpenCore 0.9.6 和 FirPE 三分区镜像
  • 神经网络(MLP多层感知器)
  • git与github的交互(文件与文件夹的上传)
  • Visual Studio常见编译错误记录
  • 如何应对数据安全四大挑战?亚马逊云科技打出“组合拳”
  • JavaScript——数据类型、类型转换
  • C位操作符
  • 【linux进程(三)】进程有哪些状态?--Linux下常见的三种进程状态
  • numString.charAt(i) - ‘0‘
  • 《Python 自动化办公应用大全》书籍推荐(包邮送书五本)
  • day57:ARMday4,程序状态寄存器读写指令、软中断指令、C和汇编的混合编程、开发板介绍
  • el-cascader
  • 图论第3天----第841题、第463题
  • 软件测试/测试开发丨利用ChatGPT 生成自动化测试脚本
  • 3.3.OpenCV技能树--二值图像处理--图像形态学操作
  • 这15个海运提单的雷区 你知道吗?
  • 几道web题目
  • API接口大全分享,含短信API、IP查询API。。。
  • 记录一次springboot使用定时任务中@Async没有生效的场景
  • 腾讯云/阿里云国际站免费账号:腾讯云国际站如何对象存储cos设置防盗链