RP2040上MicroPython导入自定义lcd_module模块报错求助
解决MicroPython RP2040导入本地模块失败的问题
问题核心
在MicroPython v1.23.0(Raspberry Pi Pico/RP2040)环境下,本地目录结构符合标准Python要求,但运行脚本时无法导入lcd_module,编辑器能识别但实际运行报错,相对导入也失效。
解决方案
1. 确保模块文件夹完整上传到Pico文件系统
VSCode的MicroPico插件默认仅上传当前运行的脚本(my_name.py),不会自动同步依赖的模块文件夹:
- 在VSCode的MicroPico资源管理器中,右键点击
lcd_module文件夹 - 选择Upload to Pico,等待上传完成
- 确认Pico的文件系统根目录下存在
lcd_module文件夹,且包含__init__.py和touch_lcd_lib.py
2. 修正脚本中的变量名错误
你的my_name.py里存在变量名误用:导入的是lcd_module,但实例化时用了module,导致即使模块导入成功也会报错,修正后代码:
import lcd_module if __name__=='__main__': LCD = lcd_module.LCD_1inch28() Touch = lcd_module.Touch_CST816T(mode=1, LCD=LCD)
3. 放弃相对导入,使用绝对导入
MicroPython不支持在顶层执行脚本(直接运行的my_name.py)中使用相对导入,保持原有的绝对导入方式即可,只要模块文件夹在Pico的根目录下就能被识别。
额外排查点
- 检查Pico文件系统剩余空间,空间不足会导致模块文件上传不完整
- 重启Pico后再运行脚本,避免缓存干扰模块识别
- 确认文件名/文件夹名大小写一致(MicroPython文件系统区分大小写)
内容的提问来源于stack exchange,提问作者Ryderr
相关产品推荐
相关产品推荐

