sudo python3获取root权限运行neopixels代码报SyntaxError错误如何解决
错误原因分析
你的work.py文件首行写入了Python解释器启动时的版本提示文本Python 3.7.3 (default, Jan 22 2021, 20:04:44),该内容不属于合法的Python可执行代码,因此解析时直接抛出SyntaxError无效语法报错。
该问题通常是你复制代码时,把Python交互终端启动时的输出内容一同复制到了脚本文件中导致的,交互终端的提示、输出内容都不能直接作为脚本代码执行。
修复步骤
- 打开
work.py文件,删除首行的版本提示文本,同时检查全文件,清理所有类似的交互终端输出内容、>>>提示符,确保文件内仅保留你编写的业务代码。 - 保存修改后的文件。
- 树莓派驱动NeoPixels需要root权限访问GPIO接口,运行脚本时必须执行命令:
sudo python3 work.py,省略sudo前缀会触发后续权限类报错。
参考教程核心内容中文说明
你参考的Adafruit NeoPixels树莓派Python开发教程核心操作步骤如下:
- 依赖安装:先执行以下命令安装所需依赖库
sudo pip3 install rpi_ws281x adafruit-circuitpython-neopixel sudo python3 -m pip install --force-reinstall adafruit-blinka - 基础测试代码示例:
import board import neopixel # 配置参数:引脚、LED数量、亮度、颜色顺序 pixel_pin = board.D18 num_pixels = 8 ORDER = neopixel.GRB pixels = neopixel.NeoPixel( pixel_pin, num_pixels, brightness=0.2, auto_write=False, pixel_order=ORDER ) # 点亮所有LED为红色 pixels.fill((255, 0, 0)) pixels.show() - 引脚说明:默认使用GPIO18引脚连接NeoPixels的数据线,使用其他引脚时需对应修改
pixel_pin参数。
内容的提问来源于stack exchange,提问作者Lewis King
相关产品推荐
相关产品推荐

