Python 3.x Raspberry Pi、linux systemd和.system文件

Python 3.x Raspberry Pi、linux systemd和.system文件,python-3.x,linux,raspberry-pi,systemd,Python 3.x,Linux,Raspberry Pi,Systemd,我试图在我的raspberry pi重新启动时运行脚本,但它给了我这个错误。当我在终端中运行脚本时,它可以工作,但当我使用systemd时,它不会运行 ● Refridgerator.service - The refridgerator thing Loaded: loaded (/etc/systemd/system/Refridgerator.service; enabled; vendor preset: enabled) Active: failed (Result:

我试图在我的raspberry pi重新启动时运行脚本,但它给了我这个错误。当我在终端中运行脚本时,它可以工作,但当我使用systemd时,它不会运行

● Refridgerator.service - The refridgerator thing

   Loaded: loaded (/etc/systemd/system/Refridgerator.service; enabled; vendor preset: enabled)

   Active: failed (Result: exit-code) since Tue 2021-01-19 17:20:34 EST; 11min ago

  Process: 777 ExecStart=/usr/bin/python3 /home/pi/Refridgerator.py (code=exited, status=1/FAILURE)

 Main PID: 777 (code=exited, status=1/FAILURE)

Jan 19 17:20:33 raspberrypi systemd[1]: Started The refridgerator thing.

Jan 19 17:20:33 raspberrypi python3[777]: Traceback (most recent call last):

Jan 19 17:20:33 raspberrypi python3[777]:   File "/home/pi/Refridgerator.py", line 3, in <module>

Jan 19 17:20:33 raspberrypi python3[777]:     from pydub import AudioSegment

Jan 19 17:20:33 raspberrypi python3[777]: ModuleNotFoundError: No module named 'pydub'

Jan 19 17:20:34 raspberrypi systemd[1]: Refridgerator.service: Main process exited, code=exited, status=1/FAILURE

Jan 19 17:20:34 raspberrypi systemd[1]: Refridgerator.service: Failed with result 'exit-code'.

我用sudopip而不是pip重新安装了pydub,解决了这个问题

sudo pip3 install pydub


你能提供你正在使用的systemd服务文件吗?它可能以根用户的身份执行服务,而您没有在系统范围内安装这些模块,而只是以pi用户的身份安装。[Unit]Description=therefridgerator thing After=multi-user.target[service]Type=simple ExecStart=/usr/bin/python3/home/pi/refridgerator.py Restart=on abort[Install]WantedBy=multi-user.targetim对堆栈溢出有点陌生,不知道如何使用它,它不允许我编辑文章和添加更多代码,而不添加更多细节,所以我只是把它放在评论中,对不起!不用担心,在我看来,您可以做的是在systemd服务文件中指定用户,这是比以根用户身份运行服务更好的解决方案,尤其是在不必这样做的情况下。您可以通过在[Service]指令下添加User=pi来实现这一点。要了解更动态的方法,您可以查看。好的,谢谢您的帮助!
sudo pip3 install pydub
sudo pip install pydub