自学内容网 自学内容网

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

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

在这里插入图片描述


原文地址:https://blog.csdn.net/weixin_44549063/article/details/142455744

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!