gpt4 book ai didi

python - 无法让我的 python 脚本在启动时/从树莓派上的快捷方式运行

转载 作者:太空宇宙 更新时间:2023-11-04 03:39:37 25 4
gpt4 key购买 nike

所以我有一个 python 脚本,我想用它至少做以下两件事之一:

  1. 让它在启动/登录时自动运行
  2. 创建运行脚本的快捷方式

我已经尝试了所有我能找到的方法来完成这些任务,但似乎每次的问题都或多或少相同。最初,程序看起来好像正在运行,处理器事件大幅增加,但这只持续了几秒钟,然后 pi 又什么都不做。如果终端打开,则不会显示任何消息。该脚本会打开一个 pygame 窗口,有时(取决于所使用的方法)该窗口会显示几秒钟,然后自行关闭。

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

如果我尝试从终端窗口运行脚本,只有当我 cd 进入其目录时,它才能正常工作,否则它只是说它无法导入图像并挂起。 (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 restart 并查看文件夹/opt/my_bootup_script/以获取启动脚本生成的 my_script_run.log 以获取信息。这个例子在我的 R-Pi 上运行良好。 Python 脚本使用 Adafruit 模块以及第 4 个 GPIO 引脚上的温度和湿度传感器 DHT11。

关于python - 无法让我的 python 脚本在启动时/从树莓派上的快捷方式运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30322978/

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