打包paddle 运行时出现RuntimeError: (PreconditionNotMet) 错误的解决

一、问题描述

一个自动化操作的项目,使用了paddle,由于第一次用pyinstaller打包paddle项目(为什么不用nuitka?打包时间太长啦,遇到问题解决一次,时间都非常的长,无奈只把自己开发的模块用nuitka进行了打包,主程序用了pyinstaller),所以遇到了不少坑,前后整了三天,才把这个问题彻底解决,由于我用的是win10系统,最主要的问题在下面这个。

RuntimeError: (PreconditionNotMet) The third-party dynamic library (mklml.dll) that Paddle depends on is not configured correctly. (error code is 126)
  Suggestions:
  1. Check if the third-party dynamic library (e.g. CUDA, CUDNN) is installed correctly and its version is matched with paddlepaddle you installed.
  2. Configure third-party dynamic library environment variables as follows:
  - Linux: set LD_LIBRARY_PATH by `export LD_LIBRARY_PATH=...`
  - Windows: set PATH by `set PATH=XXX; (at ..\paddle\phi\backends\dynload\dynamic_loader.cc:312)

二、解决过程

针对上面这个问题,在网上找了不少资料,最后通过以下方法解决了上面的问题。

找到paddle\libs,将里面的dll文件全部复制到打包出的程序文件夹内,再运行程序。

看似很水哈,但这种错误提示,往往就是一层窗户纸。

复制到这个位置,也就是项目打包出来的那个程序同目录下。

现在再次运行程序,没有出现上面提示的RuntimeError错误,说明上面的问题已得到解决。

但出现下面的错误:FileNotFoundError

现在集中精力解决这个问题。

这个错误的提示是:FileNotFoundError: [Errno 2] No such file or directory: 'D:\\00_unfiled_work\\240302-cloudphone_script\\dist\\automation\\_internal\\paddleocr\\tools/__init__.py'
[12540] Failed to execute script 'automation' due to unhandled exception!

我们试着找到这个文件夹,把整个文件夹下的所有都复制到提示位置

不知道为什么,同一个python10,一部分安装在了AppData的Roming文件夹下面,一个安装在了Local文件夹下面。

不去管它。现在将这个paddleocr文件夹整个复制到目标程序的_internal文件夹下

运行后继续报错

找到这个文件夹,复制到目标文件夹

运行,出现下面提示

再来,找到pyclipper拷贝过来

再运行,就这样,缺什么包,找什么包,直到能正常运行即可。

三、小结

pyinstaller 打包 paddle项目,出现上面的错误,主要是由于打包不完全造成的。由于这是个小项目,开发的时候一时偷懒,就没有建立和使用虚拟环境,如果建立和使用虚拟环境,在打包的时候,就不易出现丢包的现象,即使丢包,查找相应包,也比较容易。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

SSM整合项目(Vue3 + Element - Plus 创建项目基础页面)

文章目录 1.配置Vue启动端口1.修改vue.config.js2.启动 2.安装Element Plus命令行输入 npm install element-plus --save 3.修改Vue3默认样式并自定义一个组件1.修改App.vue1.删除原有结构2.启动项目查看 2.修改HomeView.vue3.删除HelloWorld.vue组件4.创建一个组件 src/compon…

介绍Kanzi

Linux开发过程中使用的Kanzi 是一个由 Rightware(现为 Thundersoft 的一部分)开发的跨平台图形用户界面(GUI)框架。它主要用于设计、开发和部署在计算机、移动设备和嵌入式设备上的2D和3D用户界面。Kanzi 提供了一个现代化的内容创…

GO语言-切片底层探索(上)

1.前言 今天在力扣上写算法,遇到了一个比较"奇怪"的错误。由于自己使用了递归切片,导致一开始没有看明白,直到在自己电脑上进行debug的时候才反应过来,原因出在了哪里?下面会先进行错误的分析和纠正&#x…

物理机win10怎么与虚拟机win10共享文件

打开win10虚拟机点击虚拟机选项安装vmTools 安装完成后系统会重启重启后关机 点击编辑虚拟机设置 选项、共享文件夹、总是启用 接下来点击添加选择你要共享的文件点击确定 打开虚拟机点击此电脑 就会看到共享的文件夹啦

python 导入excel空间三维坐标 生成三维曲面地形图 5-3、线条平滑曲面且可通过面观察柱体变化(三)

环境 python:python-3.12.0-amd64 包: matplotlib 3.8.2 pandas 2.1.4 openpyxl 3.1.2 scipy 1.12.0 import pandas as pd import matplotlib.pyplot as plt from mpl_toolkits.mplot3d import Axes3D from scipy.interpolate import griddata from matplotlib.c…

基于微信小程序的校园跑腿小程序,附源码

博主介绍:✌程序员徐师兄、7年大厂程序员经历。全网粉丝12w、csdn博客专家、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ 🍅文末获取源码联系🍅 👇🏻 精彩专栏推荐订阅👇…

SSM整合项目(添加家居)

文章目录 1.需求分析2.设计结构3.编写Service层1.创建文件夹2.FurnService.java3.FurnServiceImpl.java4.单元测试 FurnServiceTest.java5.指定默认图片位置1.Furn.java 为imgPath设置默认值2.Furn.java 的全参构造器内判断imgPath是否为空 4.返回json数据的通用类com/sun/furn…

【QT+QGIS跨平台编译】之七十:【QGIS_Analysis跨平台编译】—【qgsrastercalcparser.cpp生成】

文章目录 一、Bison二、生成来源三、构建过程一、Bison GNU Bison 是一个通用的解析器生成器,它可以将注释的无上下文语法转换为使用 LALR (1) 解析表的确定性 LR 或广义 LR (GLR) 解析器。Bison 还可以生成 IELR (1) 或规范 LR (1) 解析表。一旦您熟练使用 Bison,您可以使用…

C语言内存管理-数据段与代码段

数据段细分成如下几个区域: .bss 段:存放未初始化的静态数据,它们将被系统自动初始化为0.data段:存放已初始化的静态数据.rodata段:存放常量数据代码段细分成如下几个区域: .text段:存放用户代码…

南洋理工发布多模态金融交易Agent,平均利润提高36%!

金融市场是经济稳定的基石,它不仅促进了资本的分配,还提供了风险管理的机制。随着市场的不断演变,传统的基于规则的交易系统由于缺乏适应市场波动的能力而表现不佳。尽管基于强化学习的系统显示出更好的适应性,但它们在处理多模态…

LVGL:渐变方案

仿照qt的QGradient::Preset渐变类型写的,因为lvgl只支持水平/垂直渐变,且只支持两种颜色的渐变,所以有些类型的渐变未能实现,有些则缺少中间颜色。 代码: namespace Gradient { enum Preset {WarmFlame 1,NightFade…

allegro PCB设计心得笔记(二) -- ERROR(SPMHUT-144): Illegal arc specification

使用Allegro PCB Editor设计PCB,其中使用了中文丝印,设计完成后,进行Tools -> Database Check,提示如下错误: 对PCB文件进行反复检查,也没有找到具体问题,但是删除中文丝印封装后&#xff0c…

安卓玩机工具推荐----MTK芯片读写分区 备份分区 恢复分区 制作线刷包 工具操作解析

安卓玩机工具推荐----高通芯片9008端口读写分区 备份分区 恢复分区 制作线刷包 工具操作解析 安卓玩机工具推荐----ADB状态读写分区 备份分区 恢复分区 查看分区号 工具操作解析 前面做了两期教程。分别解析了下ADB端口与高通9008端口备份分区一些基础的常识,那么…

【Oracle之DataGuard的初步学习】

** 以下所有均是基于11G版本的 ** 一、DataGuard的部署方式 DG的部署最常用的方式就是直接在备库端部署一个空库然后再设置参数,但是这样做在初始同步时如果数据量过大会耗费较长的时间;相对来说这中方式比较简单不易出错。 还有一种方式就是通过rman的备…

okcc呼叫中心的客服代表应该具备哪些条件?

对每个企业管理者来说,选择最高效和最理想的呼叫中心提供商来简化他们的客户服务操作是一项关键工作内容。除了要确保提供商拥有处理这一重要任务所需的技术和资源之外,确定他们是否具备最高质量的合适人员来执行这项任务同样很重要。 客户服务代表是每…

多核多cluster多系统之间缓存一致性概述

目录 1.思考和质疑2.怎样去维护多核多系统缓存的一致性2.1多核缓存一致性2.2多Master之间的缓存一致性2.3dynamIQ架构同一个core中的L1和L2 cache 3.MESI协议的介绍4.ACE维护的缓存一致性5.软件定义的缓存和替换策略6.动图示例 本文转自 周贺贺,baron,代…

jvm八股

文章目录 运行时数据区域Java堆对象创建对象的内存布局对象的访问定位句柄直接指针 GC判断对象是否已死引用计数算法可达性分析算法 引用的类别垃圾收集算法分代收集理论标记清除算法标记复制算法标记整理算法 实现细节并发的可达性分析 垃圾收集器serial收集器ParNew收集器Par…

虾皮Shopee商品详情数据采集,item_get-根据ID取商品详情

Shopee(虾皮)是一个流行的东南亚电商平台,许多商家和开发者都对其商品详情数据感兴趣。为了采集Shopee上的商品详情数据,特别是根据商品ID获取商品详情,通常需要使用Shopee提供的API接口或者通过爬虫技术。然而&#x…

【Docker安装教程】Docker安装Redis详解

安装Redis前我们必须要保证Docker运行OK,如何安装Docker参考《CentOS 7 上的 Docker 安装与配置》 步骤 1: 拉取 Redis 镜像 首先,确保你已经安装了 Docker。然后,使用以下命令拉取最新的 Redis 镜像: docker pull redis](http…

强烈安利!FastReport 商业图形库,炫酷可视化报告开发首选~

FastReport Business Graphics .NET,是一款基于fastreport报表开发控件的商业图形库,借助 FastReport 商业图形库,您可以可视化不同的分层数据,构建业务图表以进行进一步分析和决策。利用数据呈现领域专家针对 .NET 7、.NET Core、…