You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

MicroPython出现custom module not detected 同目录模块无法识别

MicroPython 同目录自定义模块导入报错(custom module not detected)解决方法

典型报错:导入自定义模块时抛出 custom module not detected,系统无法定位与运行脚本同目录存放的目标模块。

MicroPython 模块搜索逻辑和桌面端 CPython 存在差异,按以下顺序排查即可修复问题:

  • 检查文件名与导入语句匹配度
    自定义模块文件名必须以.py为后缀,不得包含中文、空格、特殊符号,不能和 MicroPython 内置模块重名(禁止命名为sys.py、machine.py、time.py这类和内置库同名的文件);注意:绝大多数运行 MicroPython 的硬件文件系统大小写敏感,导入语句中的模块名要和文件名大小写完全一致,比如模块文件叫ledHelper.py,写import ledhelper就会触发报错。
  • 手动将当前目录加入模块搜索路径
    这是该报错最高发的诱因。在所有导入自定义模块的代码之前,先执行以下代码将当前运行目录加入搜索路径:
    import sys
    sys.path.append('.')
    
    如果上述写法不生效,可替换为板卡存储的根目录绝对路径,比如ESP32/ESP8266系列可写为sys.path.append('/')。
  • 确认模块文件已上传至板卡文件系统
    常见误区:自定义模块只保存在电脑本地的项目文件夹,没有通过Thonny、uPyCraft等开发工具上传到运行MicroPython的板卡存储中,运行时板卡内不存在对应文件,自然无法导入。
    排查方式:打开MicroPython的REPL交互终端,依次执行以下代码查看板卡内的文件列表,确认自定义模块存在:
    import os
    print(os.listdir())
    
    如果返回的列表中没有目标模块文件,重新将模块上传到和运行脚本相同的板卡目录即可。
  • 排查自定义模块内部语法错误
    如果自定义模块内部存在语法错误,MicroPython也会抛出“找不到模块”的误导性报错。可以直接在REPL中单独执行import 你的自定义模块名,如果返回语法错误提示,先修复模块内的代码问题再重新导入。

内容的提问来源于stack exchange,提问作者Farhan Ali

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.30 18:48:24