解决 调用yolov5的时候, No module named ‘utils‘ 的问题

这个是因为打开目录不是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文件夹是同级,所以不需要加 “.”去寻找。

###########################################################

猜你喜欢

转载自blog.csdn.net/weixin_43350896/article/details/127570322
今日推荐