Can*_*yer 6 python linux raspberry-pi
我正在使用我的 Raspberry Pi 2 B+,我正在使用 Raspbian。我有一个 python 脚本位于/home/pi/Desktop/control/gpio.py
当我输入/home/pi/Desktop/control/gpio.py命令行时,我收到消息
bash: /home/pi/Desktop/control/gpio.py Permission denied
Run Code Online (Sandbox Code Playgroud)
我也试过sudo -s在运行该命令之前运行,但那不起作用。我的 python 脚本正在使用该Rpi.GPIO库。
如果有人可以解释为什么我会收到此错误,我们将不胜感激!
您将收到此错误,因为您没有execute文件的权限。有两种方法可以解决:
python gpio.pypython 将通过读取文件来加载文件,因此您不需要具有执行权限。授予自己执行权限。你可以通过运行来做到这一点chmod u+x yourfile.py。
但是,除非您在 python 程序的顶部添加一个shebang,否则这样做是行不通的。它会让你的 linux 知道它应该启动哪个解释器。例如:
#!/usr/bin/env python
Run Code Online (Sandbox Code Playgroud)
这将尝试python使用您当前的$PATH设置运行。如果你知道你想要哪个 python,把它放在这里。
#!/usr/bin/python3
Run Code Online (Sandbox Code Playgroud)
请记住,shebang 必须是程序的第一行。
小智 1
这样做也许可行:
cd /home/pi/Desktop/control/
python gpio.py
Run Code Online (Sandbox Code Playgroud)
因为gpio.py不是可执行文件,所以您应该run改为python