下载源代码与创建虚环境
参考文献[0],克隆 repo,并要求在 Python>=3.8.0 环境中安装 requirements.txt ,且要求 PyTorch>=1.8 。
# 创建虚环境
mkvirtualenv --python=python3.8 yolov5_p38
# 进入虚环境
workon yolov5_p38
# 下载源码,并安装yolov5的包
git clone https://github.com/ultralytics/yolov5 # clone
cd yolov5
pip install -r requirements.txt # install
打包命令
打包的命令
# my_inference.py为我编写的使用yolov5推理的脚本
pyinstaller -c -D my_inference.py --hidden-import hubconf
打包遇到的问题汇总
问题1:FileNotFoundError: [Errno 2] No such file or directory: './hubconf.py'
解决方法:这个包,是动态加载的一个包。在打包命令中,加上--hidden-import hubconf
。(没有验证过去掉它是否可行),并且在打包好的dist\your_project_name\xxx.exe的所在目录,把hubconf.py复制到这个exe所在的目录下。
问题2:模型权重文件,或者配置文件(ultralytics\cfg\default.yaml)找不到。 解决方法:
1 复制权重文件到exe所在目录。
2 根据报错提示的配置文件路径,把default.yaml复制放到相应的路径下。(缺少相应父级文件夹的,手工创建)。
例子:这里提示 dist\your_project_name\ultralytics\cfg\default.yaml
找不到,那么在dist\your_project_name\
目录下,依次创建ultralytics目录,并在ultralytics目录下创建cfg目录,并在cfg目录下,复制default.yaml到cfg目录下。这个default.yaml即https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/default.yaml
文件。也是yolov5_p38\Lib\site-packages\ultralytics\cfg\default.yaml
这个文件。(在本地电脑上,可以使用everything搜索一下)。
问题3:FileNotFoundError: [WinError 3] 系统找不到指定的路径。: 'D:\xxx\dist\xxxx\utils\general.pyc'
解决方法:参考文献[1],把yolov5下utils文件夹复制到你打包的文件夹里面,即dist/detect/下,然后把general.py复杂一份,改名为general.pyc就行。我也不知道这是为什么,但他就是能跑了。
问题4:cmd中没有输出日志。
解决方法:参考文献[2],修改打包的命令-w ==> -c。
-c, --console, --nowindowed提供程序视窗,程序有输入输出的界面
参考文献
[0] https://github.com/ultralytics/yolov5/blob/master/README.zh-CN.md
[1] https://blog.csdn.net/weixin_49824280/article/details/130227336 (Win10 yolov5环境搭建、打包及问题解决_yolov5打包_zbliquan的博客-CSDN博客)
[2] https://blog.csdn.net/ccoooaa112233/article/details/127021183 (运行Pyinstaller打包的python exe没有输出的解决办法_pyinstaller 生成的exe不显示执行日志_ccoooaa112233的博客-CSDN博客)
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。