【问题标题】:Is it possible to use RPi.GPIO library in docker?是否可以在 docker 中使用 RPi.GPIO 库?
【发布时间】:2021-03-03 17:18:39
【问题描述】:

我使用了flask的官方docker镜像。并在容器中安装了 rpi.gpio 库

pip install rpi.gpio

成功了:

root@e31ba5814e51:/app# pip install rpi.gpio
Collecting rpi.gpio
  Downloading RPi.GPIO-0.7.0.tar.gz (30 kB)
Building wheels for collected packages: rpi.gpio
  Building wheel for rpi.gpio (setup.py) ... done
  Created wheel for rpi.gpio: filename=RPi.GPIO-0.7.0-cp39-cp39-linux_armv7l.whl size=68495 sha256=0c2c43867c304f2ca21da6cc923b13e4ba22a60a77f7309be72d449c51c669db
  Stored in directory: /root/.cache/pip/wheels/09/be/52/39b324bfaf72ab9a47e81519994b2be5ddae1e99ddacd7a18e
Successfully built rpi.gpio
Installing collected packages: rpi.gpio
Successfully installed rpi.gpio-0.7.0

但是却提示如下错误:

Traceback (most recent call last):
  File "/app/hello/app2.py", line 2, in <module>
    import RPi.GPIO as GPIO
  File "/usr/local/lib/python3.9/site-packages/RPi/GPIO/__init__.py", line 23, in <module>
    from RPi._GPIO import *
RuntimeError: This module can only be run on a Raspberry Pi!

我尝试了此链接中的方法,但没有成功: Docker Access to Raspberry Pi GPIO Pins

我想知道这是否可以做到,如果可以,如何进行。

【问题讨论】:

  • 您确定您使用的基础映像是用于 armhf 的吗?

标签: python docker raspberry-pi4


【解决方案1】:

首先确保您以“特权”身份运行 Docker 容器,如下所示:

docker run --privileged -it debian:latest

另外,请仔细检查您正在运行的映像是否要在您的处理器上运行。

例如,如果您尝试在 Raspberry Pi 4 上运行“debian:latest”,它实际上会拉取“arm32v7/debian:latest”。

【讨论】:

    猜你喜欢
    • 2017-05-05
    • 2020-08-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-07-31
    • 2017-05-12
    • 1970-01-01
    相关资源
    最近更新 更多