首页 > 编程语言 >【Python调用ddddocr打包成exe文件指定模型库及注意事项】

【Python调用ddddocr打包成exe文件指定模型库及注意事项】

时间:2024-09-23 18:20:37浏览次数:9  
标签:exe old option 模型库 self det Python ocr 打包

ddddocr 打包成 exe 后一直存在各种各样的问题,例如:
ddddocr\common.onnx failed. File doesn’t exist
查阅资料后,问题得到解决。但相关资料不多,且不够详细,特写下本文,以便于后来者解决问题。
希望本文能帮到你。

目标: 为了方便调用, 打算分别起三个服务, 并且打包成 EXE 方便调用 , 对于的端口号分别为
ocr_old 库 port=9897
ocr 库 port=9898
det 库 port=9890

操作步骤:

1 建立打包目录,d:\app.python

从 github 中下载 ocr_server.py  拷贝到打包目录  d:\app.python

2 将 \Lib\site-packages\ddddocr\ 下的3个库 拷贝到打包目录, 修改文件,固定参数

1) 标准 ocr 库 common.onnx

        parser.add_argument("-p", "--port", type=int, default=9898)
 			 self.ocr_option = True
        self.det_option = False
        self.old_option = False

2) 老old_ocr 库 common_old.onnx

			 parser.add_argument("-p", "--port", type=int, default=9897)
        self.ocr_option = True
        self.det_option = False
        self.old_option = True

3) 目标检测det 库: common_det.onnx

			 parser.add_argument("-p", "--port", type=int, default=9890)
        self.ocr_option = False
        self.det_option = True
        self.old_option = False

3 修改库文件从当前目录查找,没有再找默认目录

找到   \Lib\site-packages\ddddocr\__init__.py 文件 
if os.path.exists('./common_old.onnx'):
	self.__graph_path = './common_old.onnx'
else:
  self.__graph_path = os.path.join(os.path.dirname(__file__), 'common_old.onnx')

4 先打包,使得打包目录中出现 名字.spec 的配置文件

1) 先安装打包的类库

pip install pyinstaller

2) 打包成对应的 Exe 文件

pyinstaller -F  ocr_server.py 
pyinstaller  -y ocr_server.spec

pyinstaller -F  ocr_old_server.py 
pyinstaller  -y ocr_old_server.spec

pyinstaller -F  ocr_det_server.py 
pyinstaller  -y ocr_det_server.spec

在这里插入图片描述

标签:exe,old,option,模型库,self,det,Python,ocr,打包
From: https://blog.csdn.net/weixin_44549063/article/details/142455744

相关文章

  • Python 如何读取和写入文件
    Python如何读取和写入文件文件操作是编程中常见的任务,几乎所有编程语言都支持文件的读写功能。在Python中,文件操作简单直观,适用于从初学者到经验丰富的开发者。无论是处理小型文本文件,还是需要处理大型数据文件,Python提供了丰富的工具和方法来完成这些任务。本文将带......
  • Python装饰器(不带参/带参)
    普通装饰器示例普通装饰器通常用于在不修改函数签名的情况下增强函数功能。#定义一个普通装饰器defmy_decorator(func):defwrapper():print("Somethingishappeningbeforethefunctioniscalled.")func()print("Somethingishappenin......
  • Python学习路线
    一、基础阶段Python基础语法学习内容:变量、数据类型(如整数、浮点数、字符串、布尔等)、运算符、控制流语句(如if-else、for、while等)、函数定义与调用等。学习网站及网址:廖雪峰的Python入门教程:https://www.liaoxuefeng.com/wiki/1016959663602400。廖雪峰老师的教程讲解......
  • python 自动化接口测试
                  ......
  • python获取同花顺涨停连板跌停数据代码可用
    importrequestsimportjsonimportpandasaspdclassths_limitup_data:def__init__(self):'''涨停数据'''defget_var(self):'''获取js'''......
  • 【PAT_Python解】1026 程序运行时间
    原题链接:PTA|程序设计类实验辅助教学平台参考资料:1、【Python】1026程序运行时间(15分)_python运行15分钟-CSDN博客2、Python实现PAT乙级1026程序运行时间_pat1026python-CSDN博客3、python3小数位的四舍五入(用两种方法解决round遇5不进)_python_脚本之家Tips......
  • 【PAT_Python解】1025 反转链表
    原题链接:PTA|程序设计类实验辅助教学平台参考资料:1025反转链表(25分)PAT乙级C++/Python版_1025反转链表分数25作者chen,yue单位浙江大学给定一个常数k以及一个-CSDN博客【Python数据结构】反转链表的方法_反转链表python-CSDN博客Python基础算法——反......
  • python基础
    目录basic 标识符、变量、数据类型 标识符关键字字面量literal变量数据类型字符串str列表list元组tuple集合set字典dict 变量的输入与输出数字类型整型int浮点型float复数类型complex 布尔类型bool数字类型的转换:basic *良好的代码格式可提升代码......
  • Python实战:为Prometheus开发自定义Exporter
    Python实战:为Prometheus开发自定义Exporter在当今的微服务架构和容器化部署环境中,监控系统的重要性不言而喻。Prometheus作为一款开源的系统监控和警报工具,以其强大的功能和灵活性受到了广泛的欢迎。然而,Prometheus本身并不直接监控所有类型的服务或应用,这就需要我们为其开发自定......
  • python 字典的解包、合并
    python字典的解包、合并内容在Python中,可以使用以下方式解包和打包字典:解包字典使用**运算符可以解包字典,将字典中的键值对作为关键字参数传递给函数或构造器。例如:deffunc(a,b,c):print(a,b,c)params={'a':1,'b':2,'c':3}func(**params)#输出:......