虚拟环境中Flask运行YOLOv5报错:No module named 'utils.downloads'
解决Flask中运行YOLOv5时的
utils.downloads模块找不到问题 问题本质
报错ModuleNotFoundError: No module named 'utils.downloads'是因为YOLOv5的utils是项目内部模块,不属于第三方PyPI包,Python解释器无法定位到该模块的路径,和你安装的requests、utill无关。
分步解决方案
确认YOLOv5项目完整性
检查项目内的yolov5文件夹下是否存在utils子目录,且该目录下有downloads.py文件。如果缺失,删除现有不完整的yolov5文件夹,重新克隆完整仓库:git clone https://github.com/ultralytics/yolov5.git添加YOLOv5路径到Python搜索路径
在app.py的最开头添加以下代码,将YOLOv5的根目录加入Python的模块搜索路径,确保解释器能找到内部模块:import sys from pathlib import Path # 拼接yolov5文件夹的绝对路径 yolov5_root = Path(__file__).parent / "yolov5" sys.path.append(str(yolov5_root))这段代码必须放在
from yolov5.models.experimental import attempt_load之前。安装YOLOv5依赖
进入yolov5目录,安装项目所需的全部依赖:cd yolov5 pip install -r requirements.txt该命令会自动安装包括
requests在内的所有YOLOv5运行依赖,无需单独安装。重新启动Flask
返回项目根目录,重新运行Flask:flask run
内容的提问来源于stack exchange,提问作者박경덕
相关产品推荐
相关产品推荐

