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.