关于pyinstaller在linux中打包大型目标检测工程的过程。
1.安装pyinstaller
5.1版本的pyinstaller在执行.spec文件时会报错
所以选择安装4.5版本==》pip install pyinstaller=4.5
2.打包流程
1.在主文件夹下运行:pyinstaller -D XXX.py(主函数文件) -p /home/kemove/anaconda3/envs/torch/lib/python3.8/site-packages。随即生成dist、bulid文件夹。
2.在build文件夹中找到exe。===》终端 ./exe执行。
3.一般会报错:pyimod04_ctypes.PyInstallerImportError: Failed to load dynlib/dll /pyexiv2/lib/libexiv2.so’. Most likely this dynlib/dll was not found when the application was frozen.
4.在.spec文件的datas中加入 datas=[(‘/home/kemove/anaconda3/envs/torch/lib/python3.8/site-packages/onnxruntime/capi/libonnxruntime_providers_shared.so’,‘.’)],最后这个**‘.’**别忘记,否则会报错:“ValueError: too many values to unpack (expected 2)”
5.在.spec文件的datas中加入:hiddenimports=[(‘models’), (‘models.yolo’)],否则会报错:no model name xxx.
3.正确流程:
1. pyinstaller -D detection_server.py -p /home/kemove/anaconda3/envs/torch/lib/python3.8/site-packages
2.pyinstaller -D detection_server.spec ==》在打包流程中添加完毕上述后
3.在电脑中找到pyexiv2文件夹复制到./dist/项目名/ 中
4.over
pyinstaller 打包目标检测工程
于 2022-05-19 14:29:31 首次发布