Google Colab中导入自定义mtcnn模块遇ModuleNotFoundError
解决Colab中导入mtcnn时ModuleNotFoundError的问题
检查导入语句类型
打开/content/drive/MyDrive/FaceDetector/mtcnn/deploy/detect.py,查看导入functional的代码。如果是相对导入(比如from ..utils.functional import ...),改成绝对导入:from mtcnn.utils.functional import ...。相对导入在跨包调用时容易出现路径识别问题,绝对导入更适配Colab的环境。调整sys.path的添加顺序
不要用sys.path.append()添加路径,改用insert(0, ...)把仓库根目录放到sys.path最前面,避免其他同名模块干扰:import sys sys.path.insert(0, '/content/drive/MyDrive/FaceDetector')重新验证自定义模块构建结果
先检查/content/drive/MyDrive/FaceDetector/mtcnn/utils目录下有没有生成编译后的动态链接库文件(比如functional.cpython-310-x86_64-linux-gnu.so这类命名的文件)。如果没有,重新执行构建命令,确保过程无报错:cd /content/drive/MyDrive/FaceDetector python setup.py build_ext --inplace要是构建时提示缺少编译依赖,先安装:
!apt-get install -y gcc python3-dev确认包结构完整性
检查mtcnn及其子目录(deploy、utils等)下是否都有__init__.py文件(空文件也可以)。Python需要这个文件来识别目录为可导入的包,缺少的话手动创建即可。
内容的提问来源于stack exchange,提问作者desertSniper87
相关产品推荐
相关产品推荐

