在 jetson nano 上使用 systemd 和服务文件运行 python 脚本

Runnig a python script using systemd and service file on the jetson nano

我正在尝试在 jetson nano 启动时将正确的参数设置为 运行 一个 python 脚本。我面临一个问题,即服务文件不想识别使用 pip 安装的库。如果代码是从命令行编译的,它可以正常工作而不会遇到任何问题,但是在 systemd 支持下我会收到此错误: here the first image(上传://k2pWgcIRAB7N2OzLrascOEi1HrI.jpeg)

second image

服务文件如下图所示: service file

如果有人能帮助我,我将不胜感激。

您有几个选项,但本质上您需要做的是确保安装的软件包在 运行 作为配置用户(默认为 root)时对 python 可用。

接下来,由于您已将脚本拆分为多个文件,因此您需要确保这些文件位于 python 已知的位置(或指示 python 在其他目录中查找)。

以下配置应该有所帮助,假设 运行将脚本作为 /home/znvidia 中的 znvidia 用户是您正在工作的。

[Unit]
Description="Some useful description"

[Service]
User=znvidia  # Or leave out for root
WorkingDirectory=/home/znvidia/Desktop
ExecStart=/usr/bin/python3.6 /home/znvidia/Desktop/Drowsiness_detection.py

[Install]
WantedBy=multi-user.target