树莓派Pico导入machine模块时出现语法错误求助
树莓派Pico导入machine模块报SyntaxError的解决办法
问题描述
树莓派Pico刷入MicroPython后,在Thonny或VS Code中运行LED闪烁代码时,导入machine模块触发语法错误,提示/lib/machine/__init__.py第747行存在无效语法。运行print("hello")正常,导入time等其他模块也无异常,尝试更换旧版MicroPython仍无法解决。
错误信息:
>>> import machine Traceback (most recent call last): File "<stdin>", line 7, in <module> File "<string>", line 1, in <module> File "/lib/machine/__init__.py", line 747 SyntaxError: invalid syntax
测试代码:
from machine import Pin from utime import sleep pin = Pin("LED", Pin.OUT) print("LED starts flashing...") while True: try: pin.toggle() sleep(1) # sleep 1sec except KeyboardInterrupt: break pin.off() print("Finished.")
解决办法
确认固件与Pico型号匹配
确保刷入的MicroPython固件是对应树莓派Pico(或Pico W无线版)的专属版本,不要混用不同型号或其他开发板的固件。重新从官方渠道下载对应型号的最新固件,按住BOOTSEL键连接电脑,将固件文件拖入Pico识别出的U盘驱动器完成刷入。清除Pico上的损坏文件
大概率是Pico文件系统中存在损坏的/lib/machine/__init__.py文件:- 在Thonny中连接Pico,打开文件面板,删除Pico上的
/lib文件夹及其所有内容。 - 重新刷入MicroPython固件,官方固件会自带完整且正确的标准库文件。
- 在Thonny中连接Pico,打开文件面板,删除Pico上的
避免传入PC端Python文件
不要将电脑上的Python标准库文件(比如machine模块相关文件)手动复制到Pico中,MicroPython的标准库是内置在固件中的,无需额外上传。若之前上传过自定义lib文件夹,务必彻底删除。完全重置Pico
按住BOOTSEL键的同时,短接Pico的RUN引脚(GPIO30),随后松开RUN键,保持BOOTSEL键直到电脑识别到Pico的U盘模式,重新刷入固件完成重置。
内容的提问来源于stack exchange,提问作者Jaco Mare
相关产品推荐
相关产品推荐

