解决 ModuleNotFoundError: No module named ‘mmengine‘‘mmcv’‘mmdetection‘ 问题

目录

问题描述

可能的原因

解决方法


问题描述

在从github上克隆并运行 mmyolommdetection 时,报错:

ModuleNotFoundError: No module named 'mmengine'

但实际上,已经通过 pip install -v -e . 进行过安装,并且提示安装成功。但是Python 仍然找不到 mmengine。

可能的原因

  • 安装路径和 Python 搜索路径不匹配

    • 运行 pip show mmengine,发现 mmengine 安装在 非标准路径(如 /tmp/MMlab/mmengine)。
    • 运行 python -c "import sys; print(sys.path)",发现 sys.path 中没有 mmengine 所在的路径。
  • Python 解释器和 pip 不匹配

    • 运行 which python 发现 Python 位置是 /usr/bin/python,但 pip 可能安装到 /usr/local/lib/python3.8/dist-packages/,导致模块无法找到。

解决方法

解决方案 1:手动添加 mmengine 安装路径到 PYTHONPATH

1.找到 mmengine 的安装路径

在终端输入pip show mmengine

会出现这样的提示Name: mmengine Version: 0.7.2 Location: /tmp/MMlab/mmengine

这里 Location 的值 就是 mmengine 安装路径,在不同的环境中可能不同。

2.添加到 PYTHONPATH

使用 export PYTHONPATH 将其添加到 Python 的搜索路径:

export PYTHONPATH=$PYTHONPATH:/tmp/MMlab/mmengine

然后,尝试导入 mmengine

python -c "import mmengine; print(mmengine.__version__)"

如果输出 0.7.2(或其他版本号),说明解决了问题。

3.让 PYTHONPATH 永久生效

上述 export 命令 仅对当前终端会话有效,如果要永久生效,可以将其添加到 ~/.bashrc~/.profile

echo 'export PYTHONPATH=$PYTHONPATH:/tmp/MMlab/mmengine' >> ~/.bashrc source ~/.bashrc 


解决方案 2:将 mmengine 重新安装到标准 Python 库路径

如果你不想手动设置 PYTHONPATH,可以直接将 mmengine 重新安装到 Python 的默认路径。

1.运行 python -m pip 重新安装

python -m pip install --force-reinstall mmengine

这里使用:python -m pip 确保 pippython 版本匹配,避免安装到错误位置。

--force-reinstall 先卸载,再重新安装,防止旧版本残留。

2.检查是否安装成功

输入:python -c "import mmengine; print(mmengine.__version__)"

如果输出 0.7.2,说明问题解决。

3.确保 sys.path 包含安装目录

运行:python -c "import sys; print(sys.path)"

检查是否包含 /usr/local/lib/python3.8/dist-packages/(或 pip show mmengine 提供的路径)。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值