配置和运行yolov5时报错ModuleNotFoundError: No module named ‘ultralytics.yolo‘的解决方法

本文介绍了在运行yolov5detect.py时遇到check_requirements错误,如何定位问题并提供了解决方案,包括删除特定代码行和添加新的依赖检查功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

yolov5的官方文件
链接:https://pan.baidu.com/s/1WNoTDvBGDrgTfUiHDSB6Gg?pwd=8MXz
提取码:8MXz

在终端里面运行detect.py文件,报下面的错误
在这里插入图片描述
分析上面的错误,发现是在utils/general.py文件里的39行处报错了。因为找不到check_requirements。解决办法如下。
解决方法:
1、找到你的yolov5文件夹,找到utils/general.py
在这里插入图片描述
2、打开general.py文件。删除utils/general.py文件下39行代码,即下面的这行代码

from ultralytics.yolo.utils.checks import check_requirements

在这里插入图片描述
3、将下面的代码拷贝到utils/general.py中345行代码之后

@TryExcept()
def check_requirements(requirements=ROOT / 'requirements.txt', exclude=(), install=True, cmds=''):
    # Check installed dependencies meet YOLOv5 requirements (pass *.txt file or list of packages or single package str)
    prefix = colorstr('red', 'bold', 'requirements:')
    check_python()  # check python version
    if isinstance(requirements, Path):  # requirements.txt file
        file = requirements.resolve()
        assert file.exists(), f'{prefix} {file} not found, check failed.'
        with file.open() as f:
            requirements = [f'{x.name}{x.specifier}' for x in pkg.parse_requirements(f) if x.name not in exclude]
    elif isinstance(requirements, str):
        requirements = [requirements]

    s = ''
    n = 0
    for r in requirements:
        try:
            pkg.require(r)
        except (pkg.VersionConflict, pkg.DistributionNotFound):  # exception if requirements not met
            s += f'"{r}" '
            n += 1

    if s and install and AUTOINSTALL:  # check environment variable
        LOGGER.info(f"{prefix} YOLOv5 requirement{'s' * (n > 1)} {s}not found, attempting AutoUpdate...")
        try:
            # assert check_online(), "AutoUpdate skipped (offline)"
            LOGGER.info(check_output(f'pip install {s} {cmds}', shell=True).decode())
            source = file if 'file' in locals() else requirements
            s = f"{prefix} {n} package{'s' * (n > 1)} updated per {source}\n" \
                f"{prefix} ⚠️ {colorstr('bold', 'Restart runtime or rerun command for updates to take effect')}\n"
            LOGGER.info(s)
        except Exception as e:
            LOGGER.warning(f'{prefix}{e}')


在这里插入图片描述
4、之后成功运行,即可成功,成功结果如下。
在这里插入图片描述

### 解决 YOLOv8 中 `ModuleNotFoundError: No module named 'ultralytics.yolo'` 的方法 遇到此问题通常是因为使用的库版本与代码期望的结构不符。对于 YOLOv8,官方推荐的方式是通过 pip 安装 ultralytics 库来获取最新的更新支持。 #### 方法一:确认并升级 Ultralytics 版本 确保当前环境中安装的是最新版的 ultralytics 库。可以执行以下命令来进行操作: ```bash pip uninstall ultralytics pip install ultralytics --upgrade ``` 如果之前手动下载过特定版本或分支,则可能需要清理旧版本后再重试上述指令[^1]。 #### 方法二:调整导入语句适应新版 API 随着项目迭代发展,部分内部模块名称可能会有所变化。针对 yolov8 报错的情况,建议检查源码中的 import 语句是否符合现有 ultralytics 库的要求。例如,在某些情况下应将原来的 `from ultralytics.yolo...` 修改为更通用的形式如 `import ultralytics` 或者参照文档使用新的命名空间[^4]。 #### 方法三:验证 Python 环境独立性 有多个 python 虚拟环境之间的冲突也会引发此类错误。创建一个新的虚拟环境专门用于该项目,并在此环境下重复依赖项安装过程可以帮助排除这类干扰因素。 ```bash python -m venv yolo_env source yolo_env/bin/activate # Linux/MacOS yolo_env\Scripts\activate # Windows pip install -r requirements.txt ``` 以上措施能够有效处理大多数因版本差异引起的模块缺失问题。若仍无法解决问题,考虑查阅官方 GitHub Issues 页面寻找相似案例的支持方案[^3]。
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小兔子要健康

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值