python打包成exe文件之后运行报错:
1. [ddddocr\common.onnx failed. File doesn‘t exist
2. [ddddocr\common_old.onnx failed. File doesn‘t exist
3. [onnxruntime_providers_shared.dll failed. File doesn‘t exist
1. 打包生成 *spec文件
# -F 表示需要打包的py文件,-F表示生成一个文件
# -p 表示指定python环境中包的位置
pyinstaller -F *.py -p *\Lib\site-packages
2. 修改*.spec文件
a = Analysis(
['lux.py'],
pathex=['D:\\pyproject\\clawer\\venv\\Lib\\site-packages'],
binaries=[],
datas=[('./onnxruntime_providers_shared.dll','onnxruntime\capi'),('./common.onnx','ddddocr'),('./common_old.onnx','ddddocr')], # datas中添加需要打包的第三方包
hiddenimports=[],
hookspath=[],
hooksconfig={},
runtime_hooks=[],
excludes=[],
noarchive=False,
optimize=0,
)
3. 修改spec文件之后重新生成exe文件
pyinstaller -y .\*.spec # 修改之后的spec文件
总结: 这时候就可以运行生成的exe文件了,如果exe文件调用了配置文件,那么需要一起放到exex同级目录下
番外: exe直接运行异常时会直接退出,这时候最后先打开cmd窗口,报错也能看到错误情况而不会退出捕捉不到异常情况