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

pyinstaller打包paddleocr发生错误解决

python环境是3.9,github paddleocr v2.10.0。

一个非常简单的案例如下,打包时发生错误。


import requests
from paddleocr import PaddleOCR
if __name__ == "__main__":paddleocr_ocr = PaddleOCR(use_angle_cls=True, lang='ch',det_model_dir='models/ch_PP-OCRv3_det_infer',rec_model_dir='models/ch_PP-OCRv3_rec_infer',cls_model_dir='models/ch_ppocr_mobile_v2.0_cls_infer')def paddleocr_ocr_image():try:params = {"compression_quality": "1.0"}with requests.get("get_jpg_pic", params=params, stream=True, timeout=3) as image_response:image_response.raise_for_status()if not image_response.headers.get("Content-Type", "").startswith("image/jpeg"):raise ValueError(f"无效的响应类型:{image_response.headers.get('Content-Type')}")image_data = image_response.contentresult = paddleocr_ocr.ocr(image_data, cls=True)formatted_result = []for line in result[0]:points = line[0]text, confidence = line[1]x_coords = [point[0] for point in points]y_coords = [point[1] for point in points]formatted_result.append({"text": text,"center_x": int(sum(x_coords) / len(x_coords)),"center_y": int(sum(y_coords) / len(y_coords)),"width": int(max(x_coords) - min(x_coords)),"height": int(max(y_coords) - min(y_coords)),"confidence": confidence})return formatted_resultexcept requests.RequestException as e:print(f"图片失败:{str(e)}")return False

错误1:找不到  no module named "distutils.core"

错误2:找不到 Cython 

错误3:找不到 paddleocr/tools

错误4:找不到 no module named "ppocr"

错误5:找不到 mklml.dll

解决方法打包配置:,注意替换启动入口文件名、引入的路径名

# -*- mode: python ; coding: utf-8 -*-from PyInstaller.utils.hooks import collect_allmklml_path = r'C:\\Users\\Administrator\\Desktop\\iospythonProject\\venv\\Lib\\site-packages\\paddle\\libs\\mklml.dll'
paddleocr_datas, paddleocr_binaries, paddleocr_hiddenimports = collect_all('paddleocr')a = Analysis(['noUsb.py'],pathex=[],binaries=[],datas=[('C:\\Users\\Administrator\\Desktop\\iospythonProject\\venv\\Lib\\site-packages\\Cython\\Utility', 'Cython/Utility'),('C:\\Users\\Administrator\\Desktop\\iospythonProject\\venv\\Lib\\site-packages\\paddleocr\\tools', 'paddleocr/tools')]+ paddleocr_datas,hiddenimports=['distutils.core','ppocr']+ paddleocr_hiddenimports,hookspath=[],hooksconfig={},runtime_hooks=[],excludes=[],noarchive=False,optimize=0,
)a.binaries.extend(paddleocr_binaries)
a.binaries.append(('mklml.dll', mklml_path, 'BINARY'))
pyz = PYZ(a.pure)exe = EXE(pyz,a.scripts,a.binaries,a.datas,[],name='noUsb',debug=False,bootloader_ignore_signals=False,strip=False,upx=True,upx_exclude=[],runtime_tmpdir=None,console=False,disable_windowed_traceback=False,argv_emulation=False,target_arch=None,codesign_identity=None,entitlements_file=None,
)

http://www.xdnf.cn/news/1972.html

相关文章:

  • C++中随机数的产生
  • 【HFP】蓝牙HFP协议中音频连接转移与拨号功能的深度解析
  • Java使用IText7动态生成带审批文本框的PDF文档
  • 【服务器操作指南】从 Hugging Face 上下载文件 | 从某一个网址上下载文件到 Linux 服务器的指定目录
  • 用Obsidian四个插件打造小说故事关联管理系统:从模板到图谱的全流程实践
  • 692. 前K个高频单词(map的练习)
  • 【初识Trae】字节跳动推出的下一代AI原生IDE,重新定义智能编程
  • 11.ArkUI Tabs的介绍和使用
  • 【多目标进化算法】 MOEA/D算法(知识点)
  • RAG5个常见错误
  • 硬件虚拟化(如KVM、VMware)
  • Redis相关
  • PHP:点击/拖动-上传图片文件目录,并存入数据库
  • 大肠杆菌诱导蛋白时OD600=0.6-0.8添加IPTG的思考-实验操作系列-009
  • 0. Selenium工具的安装
  • 【Linux网络】TCP服务中IOService应用与实现
  • 一个非常快速的 Latex 入门教程【Part 2】
  • 2025产品经理AI效率指南:3大案例实战流程图、原型图与PRD文档
  • AI 场景落地:API 接口服务 VS 本地部署,哪种更适合?
  • 不在同一个局域网的远程桌面连接怎么设置?本地内网计算机让其他网络远程访问6种常用方法
  • 计算机界的50位大牛(23)—— 詹姆斯·尼古拉·格雷:数据库事务的缔造者
  • 客户联络中心能力与客户匹配方式
  • [论文阅读]ReAct: Synergizing Reasoning and Acting in Language Models
  • 【25软考网工】第三章(4)生成树协议、广播风暴和MAC地址表震荡
  • springboot2.x升级到3.x 惨痛经验总结
  • 每日算法-250425
  • kafka和Spark-Streaming2
  • [特殊字符]Google放大招!免费高配云主机开仓放粮,手慢无!
  • 详解 Servlet 处理表单数据
  • Linux进程学习【进程状态】