Jupyter Notebook导入m_rcnn.py遇ModuleNotFoundError问题求助
问题解决:ModuleNotFoundError: No module named 'mrcnn_demo'
错误原因
你将mrcnn_demo目录直接添加到了Python的模块搜索路径(sys.path),但m_rcnn.py内部的导入语句是把mrcnn_demo当作一个包来引用的,此时Python无法在搜索路径中找到名为mrcnn_demo的包,导致报错。
两种可行解决方案
方案一:修改m_rcnn.py的导入语句
既然已经把mrcnn_demo目录加入了sys.path,该目录下的config.py、utils.py等文件都是直接可导入的模块,无需通过包名前缀引用。将m_rcnn.py中的导入代码修改为:
# 替换原导入代码 from config import Config from utils import * import model as modellib
方案二:调整sys.path的添加路径(保留原导入语句)
不要添加mrcnn_demo目录,而是添加它的上层目录maskrcnn_colab,这样mrcnn_demo会被Python识别为一个合法的包:
import sys # 替换原路径,添加上层目录 sys.path.append('C:/Users/BIUTeamUser3/Desktop/collab_mask_rcnn/maskrcnn_colab') from mrcnn_demo.m_rcnn import *
额外注意事项
确保mrcnn_demo目录下存在一个空的__init__.py文件,Python需要这个文件来识别该目录为可导入的包。如果没有,直接新建一个空的__init__.py放在mrcnn_demo目录即可。
内容的提问来源于stack exchange,提问作者Kumar
相关产品推荐
相关产品推荐

