运行MMSegmentation时出现mmengine模块未找到错误求助
解决MMSegmentation运行demo时的
ModuleNotFoundError: No module named 'mmengine'问题 问题分析
你遇到的核心矛盾是:mim list显示已安装mmengine,但运行demo脚本时找不到该模块,这大概率是Python环境不匹配导致的——mim安装的包在某个Python环境里,但你运行demo时用的是另一个环境。
解决步骤
第一步:检查当前Python环境的mmengine是否存在
运行以下命令,查看当前终端使用的Python环境里有没有mmengine:pip list | grep mmengine如果没有任何输出,说明当前环境确实没装mmengine,问题出在环境不一致。
第二步:核对mim与当前Python的环境路径
分别运行这两个命令,对比输出的路径是否一致:# 查看mim关联的Python路径 mim --version # 查看当前终端默认的Python路径 python --version如果路径不同,说明你用mim安装包时用的是另一个Python环境(比如虚拟环境),但运行demo时用的是系统Python或其他环境。
第三步:切换到正确的环境并重新安装(如果需要)
- 如果你用了虚拟环境,先激活它:
source /path/to/your/venv/bin/activate - 进入MMSegmentation的本地目录,重新安装依赖并把项目以可编辑模式安装:
cd /home/usr/GitRepo/mmsegmentation mim install mmengine mmcv pip install -e .
- 如果你用了虚拟环境,先激活它:
第四步:用绝对路径指定Python运行demo
如果懒得切换环境,直接用mim对应的Python路径来运行脚本,比如:/path/to/mim's/python/dir/bin/python demo/image_demo.py demo/demo.png configs/pspnet/pspnet_r50-d8_4xb2-40k_cityscapes-512x1024.py pspnet_r50-d8_512x1024_40k_cityscapes_20200605_003338-2966598c.pth --device cuda:0 --out-file result.jpg你可以从
mim --version的输出里提取对应的Python路径。
内容的提问来源于stack exchange,提问作者Slim Pretty
相关产品推荐
相关产品推荐

