gpt4 book ai didi

python - 将 RPi.GPIO 导入 python 脚本时出错

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:15:04 24 4
gpt4 key购买 nike

我有一个名为 main.py 的 python 脚本,它使用 import RPi.GPIO as GPIO 导入 RPi.GPIO 库当我使用 python3 main.py 运行脚本时,我收到一条错误消息,指出未找到 RPi.GPIO。如果我使用 sudo python3 main.py 运行 main.py 那么一切运行正常。

我使用 tar.gz 文件安装了 RPi.GPIO。我将它复制到我的/home/pi/work 目录,并在同一目录中提取压缩包。然后我切换到提取的目录并使用 sudo python3 setup.py install 安装 RPi.GPIO。

因为我通常不使用 linux,所以我不完全理解权限,我确信这是导致此问题的原因。我猜,因为我使用 sudo 安装,所以这个包只对 sudo 用户可用。问题是我从 rc.local 文件启动这个程序,并且 main.py 脚本不会在启动时使用 RPi.GPIO import 语句运行。如果我删除导入语句,它将按预期启动。下面是启动程序的 rc.local 文件中的代码 su -l pi -c '/usr/bin/python3/home/pi/Work/main.py &' 我试着改变 su到 sudo 但这没有用。

有没有其他方法可以安装 RPi.GPIO 或更改 rc.local 脚本来使其正常工作?另外仅供引用,我的 pi 没有互联网连接,所以我不能使用 APT-GET 来卸载或安装包。

同时以防万一你们中的一些人想知道包是否正确安装了。如果我使用 sudo python3 启动 python,我会得到 >>>。然后我输入 import RPi.GPIO as GPIO 我再次得到 >>>。然后我输入 GPIO.VERSION 它会显示我安装的正确版本。任何帮助将不胜感激。

更新我没有为 rc.local 文件创建代码,而是仔细查看了它。我发现的语句 su -l pi -c '/usr/bin/python3/home/pi/Work/main.py &' 将用户从 root 更改为 pi 并在pi 用户。所以我尝试将语句更改为 su -l sudo -c '/usr/bin/python3/home/pi/Work/main.py &' 认为因为我可以运行 main.py使用 sudo python3 main.py 在 rc.local 文件中将用户从 pi 更改为 sudo 将以 sudo 身份执行该文件。它仍然不起作用。然后我尝试从 rc.local 命令中删除 su 命令并像这样运行 /usr/bin/python3/home/pi/Work/main.py & 但这也没有用。有人对我如何让它工作有任何建议吗?

最佳答案

尝试在运行python脚本之前用sleep编写bash脚本,并将其放入rc.local

#!/bin/sh

sleep 5
python python_script.py &

不要忘记使脚本可执行:chmod 755 yourscript.sh

关于python - 将 RPi.GPIO 导入 python 脚本时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53643617/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com