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