在raspberry pi上自动运行python脚本

时间:2015-01-23 18:51:58

标签: python linux raspberry-pi

我正在尝试在系统重新启动时自动运行我的python脚本。我已经关注了一些关于这个主题的其他线程并且认为我很接近,但是获得了权限被拒绝错误。

我的脚本使用GPIO和Tkinter,用Python 3.2.3编写

第一步是我将这一行添加到我的脚本顶部。

#! /usr/bin python3.2

我看到其他帖子,他们做了/ bin / etc python,我可以告诉python没有安装在这里,并抛出其他错误,如果我尝试这样做。我也试过python而不是python 3.2,但我想我应该有3.2

然后我去了终端并运行了这个命令。

sudo chmod +x /home/pi/FDRT/stopclock.py

立即返回,没有任何错误。

然后我修改了LXDE自动启动文件

sudo nano ~/etc/xdg/lxsession/LXDE/autostart

我将此行添加到底部。

/usr/bin/sudo ~/FDRT/stopclock.py

然后我重新启动了pi,它没有做任何事情 在/ home / pi中我打开了.xsession-errors文件,看到我有一个权限被拒绝错误。

然后我尝试在终端窗口中运行相同的命令

/usr/bin/sudo ~/FDRT/stopclock.py

这会返回相同的权限被拒绝错误。

有人可以帮我解决我在这里做错的事吗?

1 个答案:

答案 0 :(得分:-1)

您在本地获得权限被拒绝的事实应该使这更容易调试。第一个问题是你似乎缺少一个/ 变化:

> #! /usr/bin python3.2

> #!/usr/bin/python3.2

编辑以回应Joran的评论:

请注意,如果您有以下简单程序(设置为权限755)

#! /usr/bin python
print "Hello world"

python test.py运行它将打印出hello world;以./test.py运行它会返回:-bash: ./test.py: /usr/bin: bad interpreter: Permission denied(至少在我的系统上;我以为我已经看到其他地方的权限被拒绝),这就是为什么我希望这可以在没有进一步测试的情况下解决问题(假设OP是如何拥有shebang并且不仅仅是粘贴到SO中的工件)

另外,我建议在你的步骤中用实际路径(/ home / pi)替换〜只是为了确保某些地方没有将它扩展到例如root的家(假设/ home / pi不是root用户在RPi上的家)