在linux中执行python文件时权限被拒绝

时间:2015-10-02 02:59:48

标签: python linux raspberry-pi

我正在使用我的Raspberry Pi 2 B +,我正在使用Raspbian。我有一个位于/home/pi/Desktop/control/gpio.py的python脚本

当我在命令行输入/home/pi/Desktop/control/gpio.py时,我收到消息bash:/home/pi/Desktop/control/gpio.py权限被拒绝

我尝试在运行该命令之前运行sudo -s,但这不起作用。我的python脚本使用的是Rpi.GPIO库。

如果有人可以解释为什么我收到此错误,将不胜感激!感谢。

3 个答案:

答案 0 :(得分:3)

您将收到此错误,因为您的文件没有execute权限。有两种方法可以解决它:

  1. 首先不执行文件。通过运行python gpio.py python将通过读取加载文件,因此您不需要具有执行权限。
  2. 授予您自己的执行权限。您可以通过运行chmod u+x yourfile.py

    来执行此操作

    但是,除非在python程序的顶部添加shebang,否则这样做是行不通的。它会让你的linux知道它应该从哪个解释器开始。例如:

    #!/usr/bin/env python
    

    这会尝试使用您当前的python设置运行$PATH。如果你知道你想要哪个python,请把它放在这里。

    #!/usr/bin/python3
    

    请记住,shebang必须是您计划的第一行。

答案 1 :(得分:1)

这样做也许有效:
cd / home / pi /桌面/控制/
python gpio.py

因为gpio.py不是可执行文件,所以应该用python运行它

答案 2 :(得分:0)

在终端中输入这些命令,然后执行它:

 Sudo chown root.gpio /dev/gpiomem

  Sudo chmod g+rw /dev/gpiomem

或者试试这个

 sudo su