Python ImportError для службы systemd - PullRequest
0 голосов
/ 23 апреля 2020

Я пытаюсь запустить скрипт python на raspby через сервис systemd, но он не может найти ни один из модулей, установленных через pip3, и выдает ошибку:

raspberrypi python3[1017]: ModuleNotFoundError: No module named 'paho'

Запуск того же скрипта через S SH терминал работает нормально. По моим исследованиям, это может относиться к PYTHONPATH, хотя я не смог найти его в .bashr c

Модули, которые не могут быть найдены, установлены здесь:

./.local/lib/python3.7/site-packages (1.5.0)

Это служебный файл в /etc/systemd/user/mytest.service, который безуспешно запускает скрипт:

[Unit]
Description=TestScript Service
After=network-online.target

[Service]
Type=idle
ExecStart=/usr/bin/python3 /home/pi/MyProject/my_script.py > /home/pi/my_script.log 2>&1

[Install]
WantedBy=network-online.target

Как я могу сообщить службе, где расположены модули?

С уважением

1 Ответ

0 голосов
/ 24 апреля 2020

Вот быстрое решение проблемы:

Если указать пользователя в файле .service в [Service], сценарий python найдет все установленные библиотеки.

[Service]
User=pi
...