Paddle 打包部署

PaddleOCR 打包部署exe 心酸历程

  • PaddleOCR部署exe模式
    • PaddleOCR安装到本地(稍后有时间再写)
    • PaddleOCR打包过程异常问题记录!!!!
      • No such file or directory: 'D:\\py_project\\paddleOCR\\dist\\paddleOCR\\_internal\\paddleocr\\tools/__init__.py'
      • ModuleNotFoundError: No module named 'pyclipper'
      • ModuleNotFoundError: No module named 'shapely'
      • ModuleNotFoundError:skimage
      • exe运行后提示:"mklml.dll" 不存在或者路径不正确
      • 剩下的包就是缺少那个就copy那个
      • tqdm写入问题 AttributeError: 'NoneType' object has no attribute
    • 最终效果

PaddleOCR部署exe模式

PaddleOCR安装到本地(稍后有时间再写)

PaddleOCR打包过程异常问题记录!!!!

No such file or directory: ‘D:\py_project\paddleOCR\dist\paddleOCR\_internal\paddleocr\tools/init.py’

这个比较好处理:打包命令添加
–collect-all paddleocr --collect-all paddlenlp

ModuleNotFoundError: No module named ‘pyclipper’

--collect-all pyclipper

ModuleNotFoundError: No module named ‘shapely’

--collect-all shapely

ModuleNotFoundError:skimage

在这里插入图片描述

--collect-all skimage

exe运行后提示:“mklml.dll” 不存在或者路径不正确

这里是引用
一般在项目工程里面:路径为:
你的项目 -> Lib -> site-packages -> paddle -> libs 下面可以找到 (注意:我这里是虚拟环境不是conda环境的需要具体看下载目录在哪里)

在这里插入图片描述

在这里插入图片描述

剩下的包就是缺少那个就copy那个

1.ModuleNotFoundError: No module named ‘imghdr’
解决办法:将python下面lib的imghdr.py文件拷贝到\ppocr\utils
(这里有个坑 paddle utils文件里面import imghdr 这里是没有引用的!!! 打开源码去掉)
在这里插入图片描述
2.ModuleNotFoundError: No module named ‘imgaug’
解决办法:将Lib\site-packages\imgaug下imgaug拷贝过去

3.ModuleNotFoundError: No module named ‘pywt’
解决办法:将Lib\site-packages\pywt拷贝过去

4.ModuleNotFoundError: No module named ‘lmdb’
解决办法:将Lib\site-packages\lmdb拷贝过去

5.ModuleNotFoundError: No module named ‘shaply’
解决办法:将Lib\site-packages\shaply拷贝过去

6.ModuleNotFoundError: No module named ‘pyclipper’
解决办法:将Lib\site-packages\pyclipper拷贝过去

tqdm写入问题 AttributeError: ‘NoneType’ object has no attribute

# network.py 
File "tqdm\std.py", line 452, in fp_write     
fp.write(str(s))     ^^^^^^^^   
File "tqdm\utils.py", line 140, in __getattr__     
return getattr(self._wrapped, name)           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ AttributeError: 'NoneType' object has no attribute

这个错误是由于在尝试使用 tqdm 库(一个用于显示进度条的库)时,传入了一个 NoneType 对象作为文件指针。在 tqdm 库中,它期望一个文件对象(如 sys.stdout)来写入进度信息,但在你的代码中,由于某些原因,这个文件对象是 None
修改下源码即可

import io
buffer = io.StringIO()
sys.stdout = buffer
sys.stderr = buffer

最终效果

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

少数要改动源码,大部分都是从虚拟环境的库里找到相应文件夹拷贝到和可执行文件同目录即可,一下就是通常需要拷贝过来的文件夹

7.

另外如果有连网的情况下会在管理员文件夹下的.paddleocr下载相应的推理文件,在打包paddleocr的时候发现 下载下来的推理文件文件夹.paddleocr是默认保存在用户下的管理员文件夹 打包的时候放在可执行文件同个目录没用 得更改paddleocr.py源码把BASE_DIR默认地址改为软件所在文件夹apppath,或者部署的时候把.paddleocr放到管理员所在文件夹

相关学习资料会同步上传需要的同学移步下。谢谢支持!!!!
在这里插入图片描述
可以互相学习或者需要帮忙处理的可添滴滴滴 _ !!!!
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/871608.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Excel自动化工具-工作簿中sheet页合并-可自行选择需要处理的工作簿

宝子们可以选择直接下载文章顶部资源包【Excel自动化工具-工作簿中sheet页合并.xlsm】(或者在博主的资源里下载),该资源功能为:合并sheet页 或者也可以自己编写宏代码,文章最后有附上源代码 没有office excel 的宝子…

linux之find指令基础

目录 前言一、find .二、find xxx -name "*.c"三、组合查找文件名四、find . -type f五、find . -maxdepth 2 -type f六、find . -type f -perm 777七、find . -type f -name "*.txt" ! -perm 777八、借助-exec命令参考链接 前言 testfind下 check1.c ch…

WordPress最适合小型企业、自由职业者和外贸网站

WordPress特别适合小型企业、自由职业者和外贸网站,原因可以从以下几个方面进行分析: 1. 易用性和用户友好性:WordPress的安装和使用非常简单,即使对于技术新手也能快速上手。它提供了直观的可视化编辑器,用户无需编写…

《乡土中国》重新审视自己的故乡,再出发

《乡土中国》重新审视自己的故乡,再出发 费孝通(1910—2005),中国社会学家、人类学家。被誉为中国社会学和人类学的奠基人之一。江苏吴江人。1980年获国际应用人类学会马林诺斯基荣誉奖。1981年获英国皇家人类学会赫胥黎奖章。代表作有《乡土中国》《江村…

【机器学习】之旅——线性回归

机器学习是什么? 首先我们去网上一搜,展示出来的全是关于机器学习的概念性的知识,比如机器学习它是人工智能领域的一个分支,又介绍很多的机器学习的优缺点,但是我们想知道的是机器学习它是怎样运作的,为何…

【周末闲谈】Stable Diffusion会魔法的绘画师

个人主页:【😊个人主页】 系列专栏:【❤️Python】 文章目录 前言Stable Diffusion介绍 使用ComfyUI 和 WebUIComfyUIWebUI 配置需求 Stable Diffusion资源分享吐司AiAUTOMATIC1111Civitai绘世整合包Nenly同学stability.ai 前言 在很早之前&…

【数学建模】2005建模A题:长江水质综合评价与预测

数据的无量纲化处理 数据的无量纲化处理是一种统计学中的预处理技术,主要用于消除数据中的量纲影响,使得不同单位或量级的指标可以相互比较和结合。无量纲化通过调整数据的范围或尺度,使得数据集中的每个特征或变量处于相似的数值区间内。以…

【React】Google 账号之个性化一键登录按钮功能

“使用 Google 帐号登录”功能可快速管理网站上的用户身份验证。用户登录 Google 账号、表示同意,并安全地与平台共享其个人基础资料信息。 官方文档:链接 一、获取 Google API 客户端 ID 打开 Google API 控制台 中的凭据页面 创建或选择 Google API 项…

网络分层及通信过程

网络分层体系 主流的理论体系中主要包含三种网络分层模型,即ISO的七层网络模型、TCP/IP的四层网络模型以及结合两种模型优点的五层网络模型,关于网络模型,主要起到对网络体系的一个整体认识,作为网络知识学习的开始,这…

下忍考试成绩

题目 猿飞阿斯玛是一位忍术学校的老师,刚刚结束的下忍考试让他记忆尤新,这其中最精采的战斗当属鸣人和雏田之间的对战。一开始雏田被鸣人用缧旋丸打的节节后退,其实仔细观察便可发现缧旋丸都被雏田轻易击溃了。在战斗中的雏田游刃有余&#…

【并发编程】进程 线程 协程

进程(Process)、线程(Thread)和协程(Coroutine)构成了计算机科学中实现任务并发执行的三种核心抽象机制。通常,为了提高程序的执行效率,开发者会根据应用场景和性能需求,…

Linux对文件访问的基本权限

文件权限控制对文件的访问。 有三种权限类别可应用:读取、写入和执行。 权限对文件和目录的影响: 权限 对文件的影响 对目录的影响 r读取 可以读取文件的内容 可以列出目录的内容 w写入 可以更改文件的内容 可以创建或删除目录中任一文件 x执行…

对照ui图进行大屏幕适配,echerts适配

1.先找到ui图,我这边是1920*1080的屏幕进行的设计 2.在界面找到跟样式的字体大小,进行设置,一般ui设置字体大小便可 3.在js中写入原生js代码 function adapter() {//获取布局视口宽度,布局视口设备横向独立像素值const dpWidth…

【算法专题】快速排序

1. 颜色分类 75. 颜色分类 - 力扣(LeetCode) 依据题意,我们需要把只包含0、1、2的数组划分为三个部分,事实上,在我们前面学习过的【算法专题】双指针算法-CSDN博客中,有一道题叫做移动零,题目要…

python的readline()和readlines()

readlines() readlines() 是 Python 中用于从文件对象中读取所有行的方法。它会一次性读取整个文件内容,并将每一行作为一个字符串存储在一个列表中返回。 使用方法和返回值 使用 readlines() 方法可以读取文件的所有内容,每一行作为列表中的一个元素…

《Reinforcement Learning: An Introduction》阅读学习笔记

1. 阅读书籍 请问,您读过《Reinforcement Learning: An Introduction》这本书吗?2. 常见英文缩写: MDP:Markov Decision Process,马尔可夫决策过程

JAVA NIO组件之Buffer详解

❃博主首页 &#xff1a; 「码到三十五」 &#xff0c;同名公众号 :「码到三十五」&#xff0c;wx号 : 「liwu0213」 ☠博主专栏 &#xff1a; <mysql高手> <elasticsearch高手> <源码解读> <java核心> <面试攻关> ♝博主的话 &#xff1a…

Highlight.js示例

图例 代码在图片后面 点赞❤️关注&#x1f64f;收藏⭐️ 源代码 <!DOCTYPE html> <html lang"en"> <head> <meta charset"UTF-8"> <meta name"viewport" content"widthdevice-width, initial-scale1.0"…

7.14实训

当我开始学习各种杀毒软件时&#xff0c;我逐渐意识到信息安全在现代社会中的重要性和复杂性。杀毒软件不仅仅是简单的安装和运行&#xff0c;它涉及到广泛的知识领域&#xff0c;包括计算机网络、恶意软件分析、加密技术等等。在这个过程中&#xff0c;我收获了许多宝贵的经验…

代码随想录算法训练营第30天|LeetCode 452. 用最少数量的箭引爆气球、435. 无重叠区间、763.划分字母区间

1. LeetCode 452. 用最少数量的箭引爆气球 题目链接&#xff1a;https://leetcode.cn/problems/minimum-number-of-arrows-to-burst-balloons/description/ 文章链接&#xff1a;https://programmercarl.com/0452.用最少数量的箭引爆气球.html 视频链接&#xff1a;https://www…