Tambahkan properti ini ke [Service]
bagian untuk memastikan systemd
jalankan sebagai pengguna yang ditentukan.
User=pi
Lihat solusi AndyD.
Penjelasan yang paling mungkin adalah bahwa Anda memiliki beberapa variabel lingkungan yang disetel (misalnya ekstensi PYTHONPATH Anda?) yang tidak disetel saat skrip dijalankan oleh systemd.
Anda dapat mencoba menggunakan parameter Lingkungan (lihat [0]) jadi setel PYTHONPATH (dan apa pun yang dapat memengaruhi ini) ke apa pun yang ada di sesi konsol Anda.
[0] http://0pointer.de/public/systemd-man/systemd.exec.html#Environment=
systemd
berjalan sebagai root. Modul dipasang melalui pip
diinstal untuk pengguna, bukan untuk sistem, sehingga menginstal modul tanpa hak akses root membuat modul tidak dapat diakses oleh root.
Untuk mengatasi ini saya menjalankan sudo -H pip install zmq
dan sudo -H pip3 install zmq
untuk menginstal paket untuk Python 2.7 dan Python 3+ untuk root. Ini mengizinkan systemd
untuk mengakses modul setelah mencoba mengeksekusi skrip Python.