このプロパティを [Service]
に追加します systemd
を確認するセクション 指定されたユーザーとして実行します。
User=pi
AndyD のソリューションを参照してください。
最も可能性の高い説明は、スクリプトが systemd によって実行されているときに設定されていないいくつかの環境変数が設定されていることです (たとえば、PYTHONPATH の拡張子など)。
Environment パラメーター ([0] を参照) を使用してみることができるので、PYTHONPATH (およびこれに影響を与える可能性のあるその他のもの) をコンソール セッションにあるものに設定してください。
[0] http://0pointer.de/public/systemd-man/systemd.exec.html#Environment=
systemd
ルートとして実行されます。 pip
経由でインストールされたモジュール システム用ではなくユーザー用にインストールされるため、root 権限なしでモジュールをインストールすると、root がモジュールにアクセスできなくなります。
これを解決するために sudo -H pip install zmq
を実行しました および sudo -H pip3 install zmq
root 用の Python 2.7 と Python 3+ の両方のパッケージをインストールします。これにより systemd
が許可されました Python スクリプトを実行しようとすると、モジュールにアクセスできます。