这个是因为打开目录不是yolov5的根目录,所以找不到yolov5文件夹下的utils模块
例如是这种情况:在运行detector.py时,yolov5作为一个模块被调用,会显示这个问题。
修改sys.path的方法可能有用,但麻烦且不一定成功,因为detector.py还要依赖上面两个文件夹
建议直接把文件夹名字加上 :
from utils import TryExcept, emojis
from utils.downloads import gsutil_getsize
from utils.metrics import box_iou, fitness
改成
from yolov5.utils import TryExcept, emojis
from yolov5.utils.downloads import gsutil_getsize
from yolov5.utils.metrics import box_iou, fitness
###########################################################
2023/4/7更新
还要注意当前文件运行的目录和你想要导入包的路径关系,例如如果 detector.py是在zed-examples-master这个目录下,那么yolov5对与detector.py来说就是就是当前父目录的同级目录,所以需要 from .yolov5 import ...,需要在yolov5前加个 “.” 来返回上一级目录去找包。
而像图中这种,因为detector.py是直接在pytorch_yolov5目录下的,和yolov5文件夹是同级,所以不需要加 “.”去寻找。
###########################################################
2023/7/10更新
像这种找不到路径的问题大多发生在新手从github下载完源代码后,自己又新建了一个目录存放下载的代码,但是代码其实已经有一层总目录了,然后新手用pycharm打开了自己建的目录,然后想要直接运行源代码的脚本,那么现在源代码的脚本和你的pycharm的根目录之间是间隔了两层目录,直接from utils导入,它就会去你建的目录下去找,那么自然找不到utils文件。文章来源:https://www.toymoban.com/news/detail-523732.html
所以这个问题也教会我一个好习惯,那就是打开工程文件的时候,一定要从原始的那一级目录打开。文章来源地址https://www.toymoban.com/news/detail-523732.html
到了这里,关于解决 调用yolov5的时候, No module named ‘utils‘ 的问题的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!