yolov5的detect文件打包为exe文件的问题记录

发布时间:2024年01月23日

1.将需要导包的文件父目录绝对地址添加到该列表中,可以通过.spec文件进行手动添加
在这里插入图片描述

或者命令行的形式(以我的为例)

-p D:\\JetBrains\\Project\\rob_ins
-p D:\\JetBrains\\Project\\rob_ins\\image\\alogrithm

-p 后面只能写一个路径,有多个需要写多个-p “路径”,通过空格进行分割,需要打包的文件(如detect.py)的父目录会默认添加。
-p "导包的文件父目录绝对地址"

2.需要隐式导入的模块,可以通过.spec文件进行手动添加yolo与autoanchor模块

隐式导入的模块

或者命令行进行添加(同上):

--hidden-import=models.yolo
--hidden-import=utils.autoanchor

如果不添加也可以将这两个文件放到与打包后的可执行文件的文件夹下面,需要保持原目录结构不变

3.遇到yolo文件加载失败的问题,通过引用定位到autoanchor中使用了scipy的kmean函数。可以打包成文件夹(-D 打包为文件夹,-F打包为单个文件,默认使用-D命令,推荐使用-D,修改代码没有导新库直接替换比较小的.exe文件就行了),将自己的虚拟环境中的scipy包复制到打包文件夹下面覆盖原来的scipy文件夹。
ps.以前打包没有遇到这个问题不知道是不是因为scipy的版本问题
在这里插入图片描述

完整命令:


pyinstaller -p D:\\JetBrains\\Project\\rob_ins -p D:\\JetBrains\\Project\\rob_ins\\image\\alogrithm --hidden-import=models.yolo --hidden-import=utils.autoanchor web_server.py

跑通,正式使用还需要加-w参数,隐藏终端窗口
在这里插入图片描述
在这里插入图片描述

文章来源:https://blog.csdn.net/qq_43432661/article/details/135748605
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。