我在尝试为 Rpi2 的简单 Python 代码构建快照时遇到了很大困难。
我想要放入 Snap 的代码是:
# External module imports
import RPi.GPIO as GPIO
import time
print("Hello LED")
ledPin = 9
print("Setting Broadcom Mode")
# Pin Setup:
GPIO.setmode(GPIO.BCM) # Broadcom pin-numbering scheme
GPIO.setup(ledPin, GPIO.OUT)
print("Here we go! Press CTRL+C to exit")
try:
while 1:
print ("OFF");
GPIO.output(ledPin, GPIO.LOW)
time.sleep(1.00)
print ("ON");
GPIO.output(ledPin, GPIO.HIGH)
time.sleep(1)
except KeyboardInterrupt: # If CTRL+C is pressed, exit cleanly:
GPIO.cleanup() # cleanup all GPIO
问题是我似乎没有在文档中找到如何导入 rpi.GPIO这可能吗?
搜索于https://github.com/ubuntu/snappy-playpen没有结果
这是个难题。更简单的问题是……如何使用 snap 执行 Python 脚本?我尝试输入:
apps:
helloLed:
command: sudo python helloLed.py
并且没有sudo
,之后它会触发权限错误。
提前谢谢您!完成后将发布完整的示例教程!
答案1
使用 Python3 插件添加它,OP 包含部分snapcraft.yaml
,可能只需要编辑:
...
parts:
plugin: python3
python-packages:
- RPi.GPIO
...
它还需要一个访问接口:
...
apps:
...
plugs:
- physical-memory-control
...
然后安装后用户应该连接它,因为该接口不是auto
sudo snap connect helloLed:physical-memory-control
笔记
我仍有一些疑问:是否RPi.GPIO
需要从源代码构建。如果是这种情况,则应将其声明为snapcraft.yaml
一部分。请参阅链接的参考资料。