gpt4 book ai didi

python - 在 Linux 启动时运行 python3 应用程序

转载 作者:太空宇宙 更新时间:2023-11-04 09:16:21 28 4
gpt4 key购买 nike

我有以下脚本

#!/bin/bash
echo "Welcome to auto shell"
cd /home/pi/Desktop/Home
echo "Running the server now.....!"
echo "*************************" |& tee -a /home/pi/Desktop/Home/logs.log
echo "Today is " |& tee -a /home/pi/Desktop/Home/logs.log
date |& tee -a /home/pi/Desktop/Home/logs.log
python3 Server.py |& tee -a /home/pi/Desktop/Home/logs.log

但是输出是:

Today is 
Sat Nov 11 01:03:46 EST 2017
Traceback (most recent call last):
File "Server.py", line 1, in <module>
import radiojavan as rj
File "/home/pi/Desktop/Home/radiojavan.py", line 2, in <module>
import pyautogui as gui
File "/home/pi/.local/lib/python3.5/site-packages/pyautogui/__init__.py", line 115, in <module>
from . import _pyautogui_x11 as platformModule
File "/home/pi/.local/lib/python3.5/site-packages/pyautogui/_pyautogui_x11.py", line 160, in <module>
_display = Display(os.environ['DISPLAY'])
File "/usr/lib/python3.5/os.py", line 725, in __getitem__
raise KeyError(key) from None
KeyError: 'DISPLAY'

当我通过键入手动运行应用程序时,该应用程序运行没有问题python3 服务器.py

更新:澄清帖子我需要应用程序在用户 pi 登录后开始运行,因为它需要访问 chrome

最佳答案

我猜测您正在从 crontab 运行失败的 bash 脚本。从 crontab 运行程序时的环境与从终端运行程序时的环境非常不同。一个主要变化是在 linux 启动时运行的脚本没有附加的终端,因此缺少 DISPLAY 环境变量。

您正在您的程序中使用 pyautogui。这在 linux 启动时是行不通的。您真的要在 linux 启动时运行该程序,还是要在用户登录到桌面环境后运行该程序?

关于python - 在 Linux 启动时运行 python3 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47235042/

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