不能让我的Python脚本启动/从树莓派的快捷方式运行

所以我有一个Python脚本,我希望至less做这两件事情之一:

  1. 让它在启动/login时自动运行
  2. 创build一个运行脚本的快捷方式

我已经尝试了每种方法,我可以find每一个这样做,但似乎每次都是差不多的问题。 最初看起来好像程序正在运行,performance为处理器活动的大幅增加,但是这只能持续几秒钟,然后才回到无所事事。 如果terminal打开,则不显示任何消息。 该脚本打开一个pygame窗口,有时(取决于使用的方法),这个窗口会在closures之前显示几秒钟。

该脚本是相当复杂的,因为它使用目录中的图像和模块以及GPIO引脚。

如果我试图从terminal窗口运行脚本,它只能正常工作,如果我进入其目录,否则它只是说它不能导入图像并挂起。 (sudo似乎没有任何区别,它是否工作)

我假设这意味着它会工作,如果我设法得到的rpi进入脚本的目录之前运行,但我不知道这是可能的通过快捷方式或任何“自动启动”方法

希望这一切都清楚,如果不让我知道

你必须编写简单的脚本来运行你的代码,像这样:

例如在/ opt中创建目录:

cd /opt mkdir my_bootup_script cd my_bootup_script nano my_python_script.py 

然后编写python代码。 对于这个例子,我试过这个:

 #!/usr/bin/python import sys import Adafruit_DHT humidity, temperature = Adafruit_DHT.read_retry(11, 4) if humidity is not None and temperature is not None: print 'Temp={0:0.1f}*C Humidity={1:0.1f}%'.format(temperature, humidity) else: print 'Failed to get reading. Try again!' 

然后在相同的文件夹bash脚本中例如:

 touch my_script_runner.sh chmod a+x my_script_runner.sh nano my_script_runner.sh 

然后写入bash脚本。 对于这个例子,我试过这个:

 #!/bin/bash cd /opt/my_bootup_script sudo /usr/bin/python ./my_python_script.py exit 

如果它运行良好,请尝试:./my_script_runner.sh

如果是,请将此脚本添加为引导脚本:

 sudo nano /etc/rc.local # Add Line : nohup sudo /opt/my_bootup_script/my_script_runner.sh >> /opt/my_bootup_script/my_script_run.log # Save with ctrl + x and y 

重新启动R-Pi:sudo reboot并查看启动脚本生成的my_script_run.log文件夹/ opt / my_bootup_script /以获取信息。 这个例子在我的R-Pi上运行良好。 Python脚本在第4个GPIO引脚上使用带有温度和湿度传感器DHT11的Adafruit模块。