YOLOv5项目打包exe之后,运行这个exe之后没有反应,也没有报警,求解
最简单得到解决方案就是将关联的dll放到和exe文件一起,而且这个报错有可能还不是这个dll的报错,而是这个dll的依赖dll报错
检查打包过程,看看打包日志是否有任何错误或警告,在运行exe时没有报错,并不意味着打包过程中没有出现错误
检查一下必要的依赖项和库文件是否被打包进去,也可以在特定的位置增加一些日志输出,看看打包后的exe在程序内部执行到了哪里
YOLOv5项目打包成exe运行之后没有反应的话,你可以在当前目录下打开cmd窗口,在cmd窗口中输入 test.exe test为你打包后的EXE名称,这样运行可以看到具体报什么错误。一般来说打包导致的问题,无非就是相关的依赖包没有打包到,又或者是代码中使用到的文件路径的问题。
可参考
检查是否缺少依赖库:在打包exe之前,需要将所有的依赖库打包到exe中,否则在运行exe时会找不到依赖库而导致程序无法运行。你可以使用工具如pyinstaller、py2exe等来打包exe,并确保所有的依赖库都被正确打包到了exe中。
检查是否缺少配置文件:有些程序需要读取配置文件来正确运行,如果缺少了配置文件,程序可能会无法正常运行。你可以检查一下程序的代码,看看是否需要读取配置文件,并确保配置文件被正确地打包到了exe中。
# 切换到yolov5根目录,使用这个指令即可
pyinstaller ui_yolov5.py --hidden-import "models.yolo"
如果测试成功,可以加上-w参数,避免显示命令行窗口,更多其他参数请自行了解pyinstaller 相关用法
# -w为不显示命令行窗口(仅在windows有效)
pyinstaller ui_yolov5.py --hidden-import "models.yolo" -w
加包后的目录在
dist/
下面,这里因为打包的py文件名字为ui_yolov5.py
,故生成的文件夹名字为ui_yolov5
,在这个文件夹下可以找到一个叫做ui_yolov5.exe
的文件,可以运行。
此时需要把原先目录中的data
、weights
两个文件夹拷贝到dist/ui_yolov5/
中。
如果一切顺利,那么直接运行dist/ui_yolov5/ui_yolov5.exe
,即可打开,后续教程无需观看。
如果出错了,那么继续往后看。
tips:如果双击后一闪而过,可能看不到报错信息,那么打开cmd命令行,切换到这个目录,输入ui_yolov5.exe回车即可运行,并且可以看到报错。