RPI.GPIO: 模块未找到错误:没有名为 'RPi.GPIO' 的模块。

3
感谢所有与“RPI.GPIO”相关的帖子的贡献者。我尝试了大部分建议,但到目前为止都没有成功。
我的当前版本是0.7.1a4,我在Pi4上运行bullseye和一个应该**导入RPi.GPIO as GPIO**的python3程序。相反,我得到了ModuleNotFoundError: No module named 'RPi.GPIO'; 'RPi' is not a package的错误信息。
在bullseye headless上,同样的程序可以顺利地导入RPi.GPIO as GPIO
我尝试了各种RPi.GPIO安装方法,并收到了许多不同的消息。但到目前为止,没有解决任何问题。现在我毫无头绪,不知道下一步该去哪里寻找或做些什么。 方法1:
sudo pip3 install numpy --extra-index-url https://www.piwheels.org/simple

返回信息:

已满足要求:...dist-packages (1.19.5)

方法2:

pip install RPi.GPIO

返回的信息:

由于普通的站点包不可写,所以默认使用用户安装。 要求已满足。

方法3:

pip3 install RPi.GPIO

返回信息:

已满足要求:...dist-packages (0.7.1a4)

方法 4:

export CFLAGS=-fcommon
pip3 install RPi.GPIO

返回信息:

因为常规的site-packages不可写,所以默认使用用户安装。 要求已满足:...dist-packages (0.7.1a4)

方法5:

sudo apt-get -y install python3-rpi.gpio

返回的信息:

...已经是最新版本了 (0.7.0-0.2+b1).

方法6:

sudo apt-get update && sudo apt-get install python-rpi.gpio python3-rpi.gpio

返回信息:

python3.rpi.gpio 不可用,但被另一个软件包所引用。 这可能意味着该软件包已丢失、已过时或仅可从其他来源获取。

方法 7:

sudo apt-get install RPi.GPIO

返回信息:

注意,正在选择正则表达式 'RPi.GPIO' 的 'python3-rpi.gpio'。 注意,正在选择正则表达式 'RPi.GPIO' 的 'python-rpi.gpio'。 注意,正在选择正则表达式 'RPi.GPIO' 的 'rpi.gpio-common'。 'python3-rpi.gpio' 已经是最新版本 (0.7.0-0.2+b1)。 'rpi.gpio-common' 已经是最新版本 (0.7.0-0.2+b1)

感谢您的建议和帮助。


那么,为什么不向发行版的维护者请求更新软件包呢?但更好的方法是切换到 libgpiod,它是 Linux 中用于与 GPIO 进行通信的本地库。 - 0andriy
3个回答

3

我曾经遇到了相同的错误,尝试了所有命令,但仍然无济于事。现在我成功了,希望能对你有所帮助。我只是在从控制台读取代码时加了python3,例如:'sudo python3 testgpio.py'而不是只有python。希望这对你有用。


请问您能否添加更多细节,解释一下为什么您的解决方案有效? - Tejas Shetty
你的回答可以通过提供更多支持信息来改进。请编辑以添加进一步的细节,例如引用或文档,以便他人可以确认你的答案是正确的。您可以在帮助中心中找到有关如何编写良好答案的更多信息。 - Community

0

试试这个:

import RPi.GPIO as GPIO

请将 RPI.GPIO 替换为 RPi.GPIO,小写字母 i,因为 Python 区分大小写。


0

我曾经遇到过同样的错误。结果发现是我使用了错误的操作系统。我曾经使用了64位的Bullseye版本来挖掘门罗币,但是使用正常的Bullseye 11版本一切都很顺利。你可以在树莓派镜像上下载它。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接