Aggiungi questa proprietà a [Service]
sezione per assicurarti che systemd
eseguito come utente specificato.
User=pi
Fare riferimento alla soluzione di AndyD.
La spiegazione più probabile è che hai impostato alcune variabili d'ambiente (ad esempio un'estensione del tuo PYTHONPATH?) che non sono impostate quando lo script viene eseguito da systemd.
Potresti provare a utilizzare il parametro Environment (vedi [0]), quindi imposta PYTHONPATH (e qualsiasi altra cosa possa influenzarlo) su qualsiasi cosa sia nella tua sessione della console.
[0] http://0pointer.de/public/systemd-man/systemd.exec.html#Environment=
systemd
viene eseguito come root. I moduli installati tramite pip
sono installati per un utente piuttosto che per il sistema e quindi l'installazione dei moduli senza i privilegi di root li ha resi inaccessibili per root.
Per risolvere questo ho eseguito sudo -H pip install zmq
e sudo -H pip3 install zmq
per installare i pacchetti sia per Python 2.7 che per Python 3+ per root. Ciò consentiva systemd
per accedere ai moduli una volta che tenta di eseguire lo script Python.