You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PyInstaller打包YOLOv8应用后运行出现torch警告求助

解决YOLOv8+PyInstaller打包EXE的运行警告与新会话问题

一、处理运行时警告

1. torchvision.io 加载警告

这个警告是因为打包后缺失torchvision的图像扩展库,但YOLOv8实际不依赖torchvision.io的功能,直接在代码开头添加警告过滤即可:

import warnings
# 过滤指定警告
warnings.filterwarnings("ignore", category=UserWarning, message=r"Failed to load image Python extension.*")

2. torch.jit 重载源码警告

这是PyInstaller打包时丢失了Torch JIT重载函数的源码文件导致的,两种处理方式:

  • 方式一:代码过滤警告
    在代码开头添加:
    warnings.filterwarnings("ignore", category=UserWarning, message=r"Unable to retrieve source for @torch.jit._overload function.*")
    
  • 方式二:优化打包命令
    修改PyInstaller命令,强制收集torchvision的全部文件:
    pyinstaller .\run.py -c -D --collect-all torchvision
    

二、解决点击按钮创建新会话的问题

每次点击按钮就生成新会话,本质是每次触发检测都重新初始化了YOLO模型。把模型初始化代码放到全局作用域,不要写在按钮的点击事件回调里:

# 全局初始化模型,只执行一次
from ultralytics import YOLO
model = YOLO("yolov8n.pt")  # 替换成你的模型路径

def on_detect_button_click():
    # 这里直接用全局的model做检测
    results = model(source="your_image/video_path")
    # 后续处理逻辑

三、打包时模块警告的通用处理

打包时出现的模块缺失警告,直接用--hidden-import补全缺失模块,或者用--collect-all收集整个ultralytics库(YOLOv8的核心依赖):

pyinstaller .\run.py -c -D --collect-all ultralytics --collect-all torchvision

内容的提问来源于stack exchange,提问作者QueueTi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.09 14:07:01