pyinstaller打包yolov8的ultralytics库生成.exe文件时遇到的问题

1. 在终端执行下面代码时 

pyinstaller -F --icon=strawberry.ico PyQt5_UI.py --noconsole

关于pyinstaller的参数选项可参考:用 Pyinstaller 模块将 Python 程序打包成 exe 文件 

其中,

结果:报错:“无法成功完成操作,因为文件包含病毒或潜在的垃圾软件 。”

解决方法:关闭防火墙。

 

 

 重新执行代码,最后成功安装。

2. 安装完成之后, 在根目录下会生成build文件夹(不用管)和dist文件夹,.exe文件就包含在dist文件夹中。(因为在pyinstaller的参数选项中添加了-F,所以dist文件夹中只有一个.exe文件。)

3. 双击打开.exe文件,出现以下报错。

 在临时文件Temp中,找不到路径:\ultralytics\...

 

 出现这种现象是因为在pyinstaller的参数选项中添加了 -F,所以在打包过程中,dist文件夹缺少了一些必要的库(代码中import的库)。

解决方法:重新在终端安装。将 -F 去掉,并且添加上 “pip install ” 安装的库的路径。

pyinstaller --icon=strawberry.ico PyQt5_UI.py --noconsole -p 'D:\Anaconda\envs\yolov8\Lib\site-packages' -p 'D:\Anaconda\envs\yolov8\Lib\site-packages\torch\lib'  --hidden-import torchvision

 

重新安装完成之后,在dist文件夹中生成了一个与.py名称相同的文件夹,打开之后即可看到 .exe文件 。

 然后双击运行,或在cmd中打开(如下)。

发现还是会报错,但是这次的报错和第一次的报错有微小区别。

上一次是在C盘中的临时文件夹Temp中找不到 “\ultralytics\...”,即使把ultralytics文件复制过去也会自动消失。(可能是因为该路径为自动生成的临时文件)

而这次路径为.py文件所在的根目录下的 “.\dist\.\_internal\...”

所以只需要手动将从github下载的yolov8的工程文件ultralytics复制到 “_internal文件夹”中,最后便可以正常打开.exe文件了。

 

  • 5
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 6
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值