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

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-03-12 09:14:02       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-03-12 09:14:02       100 阅读
  3. 在Django里面运行非项目文件

    2024-03-12 09:14:02       82 阅读
  4. Python语言-面向对象

    2024-03-12 09:14:02       91 阅读

热门阅读

  1. Unity 3D脚本语言的类型

    2024-03-12 09:14:02       48 阅读
  2. 后端程序员入门react笔记(七)- React路由

    2024-03-12 09:14:02       40 阅读
  3. docker的安装与使用

    2024-03-12 09:14:02       41 阅读
  4. AndroidStudio测试类无法运行

    2024-03-12 09:14:02       40 阅读
  5. Yii实现RabbitMQ队列

    2024-03-12 09:14:02       40 阅读
  6. 第二十四章 跨域

    2024-03-12 09:14:02       41 阅读
  7. 爬取某乎专栏文章html格式,并转到pdf保存

    2024-03-12 09:14:02       37 阅读
  8. Lucene 自定义词库

    2024-03-12 09:14:02       38 阅读
  9. IOS面试题object-c 31-40

    2024-03-12 09:14:02       43 阅读
  10. ChatGPT Prompt方法原理详解

    2024-03-12 09:14:02       46 阅读