pyinstaller打包ddddocr的一些坑,亲测解决
在python里,pyinstaller是我们常用的打包工具,其内置了很多常见的库,大大的方便了我们使用。ddddocr是一个常见的验证码和文字识别的库,但是今天我打算用pyinstaller打包ddddocr的时候,却遇到了一些问题,故此分享出来,权当抛砖引玉。
我们平常都使用的打包命令如下:
pyinstaller -F test_demo.py
第一个遇到的问题如下:
问题1
问题原因:
这是因为系统打包时候缺少一些dll动态链接库文件
解决办法:
打包的时候将该dll文件包含进去即可
具体操作:
打开目录下的同名的spec文件,这里是test_demo.spec,在datas这一行添加
('你的虚拟环境\Lib\site-packages\onnxruntime\capi\onnxruntime_providers_shared.dll','onnxruntime\\capi')
然后执行如下命令进行手动打包:
pyinstaller test_demo.spec
如此操作后,报错消失,程序正常。
第二个遇到的问题如下
问题2
File "test_demo.py", line 246, in <module>
File "test_demo.py", line 81, in get_position
File "test_demo.py", line 157, in __get_grid_data
File "test_demo.py", line 47, in captcha_recognize
File "ddddocr\__init__.py", line 2418, in __init__
File "onnxruntime\capi\onnxruntime_inference_collection.py", line 419, in __init__
File "onnxruntime\capi\onnxruntime_inference_collection.py", line 472, in _create_inference_session
onnxruntime.capi.onnxruntime_pybind11_state.NoSuchFile: [ONNXRuntimeError] : 3 : NO_SUCHFILE : Load model from C:\Users\admin\AppData\Local\Temp\_MEI397202\ddddocr\common_old.onnx failed:Load model C:\Users\admin\AppData\Local\Temp\_MEI397202\ddddocr\common_old.onnx failed. File doesn't exist
[45488] Failed to execute script 'test_demo' due to unhandled exception!
问题原因:
这是因为系统打包时候缺少onnx模型文件
解决办法:
打包的时候将该模型文件包含进去即可
具体操作:
打开虚拟环境目录site_packages下的ddddocr目录,找到common_old.onnx,复制到项目目录下,然后找到项目目录下同名的spec文件,这里是test_demo.spec,在datas这一行添加
然后执行如下命令进行手动打包:
pyinstaller test_demo.spec
版权声明:
作者:崔圣杰
链接:https://www.cuishengjie.com/1028.html
来源:论剑阁-崔圣杰博客
文章版权归作者所有,未经允许请勿转载。


共有 0 条评论