Raspberry Pi Pico上MicroPython无法导入lib文件夹模块的问题
解决MicroPython Pico模块导入找不到函数的问题
问题根源
MicroPython识别包结构时,要求目录下必须存在__init__.py文件,你的/lib/test_mod/目录里只有test_mod.py,缺少这个初始化文件,导致Python无法将该子目录识别为可导入的包。同时导入路径也没匹配正确的层级结构。
具体修复步骤
添加包初始化文件
在/lib/test_mod/目录下创建一个空的__init__.py文件,无需写任何代码,它的作用是告诉MicroPython这个目录属于Python包范畴。选择正确的导入方式
现在有两种实用的导入方案:- 方案一:直接导入子模块
from lib.test_mod import test_mod test_mod.do_stuff() - 方案二:简化调用流程
在__init__.py中添加一行导出代码:
之后就可以直接导入函数或包来调用:from .test_mod import do_stuff# 直接导入函数 from lib.test_mod import do_stuff do_stuff() # 或者导入整个包 import lib.test_mod as tm tm.do_stuff()
- 方案一:直接导入子模块
确认最终文件结构
确保文件层级完全符合以下结构:/ └── lib/ └── test_mod/ ├── __init__.py └── test_mod.py
额外检查项
- 不要直接用
import test_mod,MicroPython会优先在当前脚本所在目录查找模块/包,找不到才会去/lib目录检索,你的test_mod是/lib下的子包,直接这样导入无法定位到正确模块。 - 检查
test_mod.py里的函数定义:确保函数名拼写正确,且函数顶格定义(没有缩进错误),示例正确写法:def do_stuff(): print("执行操作")
内容的提问来源于stack exchange,提问作者Simon Monk
相关产品推荐
相关产品推荐

