Suas definições de serviço são assim:
[Service]
ExecStart=python /home/pi/projects/script1.py
Restart=always
E esta é a mensagem de erro em cada um deles:
Executable path is not absolute, ignoring: python /home/pi/...
Para systemd
, o "executável" nesta definição de serviço é python
e claramente não é um caminho absoluto. O /home/pi/projects/script1.py
é apenas um argumento para esse executável python
, e importar-se com sua forma adequada é o trabalho do executável.
Todas as variáveis de ambiente específicas do Python, como PYTHONPATH
, não têm nenhum significado para systemd
: você deve fornecer um caminho absoluto para o executável na definição de serviço, todas as vezes.
Normalmente, o caminho absoluto para o interpretador python é /usr/bin/python
, mas você pode verificar:
$ type python
python is /usr/bin/python
Assim, suas definições de serviço devem ser assim:
[Service]
ExecStart=/usr/bin/python /home/pi/projects/script1.py
Restart=always