У меня есть программа Python, которая имеет что-то как:
from flask import Flask, abort
и я сделал это как systemd сервис (названный как test_flask.service
) как:
[Unit]
Description=My simple flask service
After=syslog.target network.target
[Service]
Type=simple
Environment=export PYTHONPATH=<path_to_the_python_directory>
ExecStart=/usr/bin/python3 <path_to_the_python_directory>/test_flask.py
[Install]
WantedBy=multi-user.target
Когда я запускаю это использование sudo systemctl start test_flask.service
Я получаю ошибку:
ImportError: No module named 'flask'
Какие-либо подсказки?
При проверке состояния сервиса Вы видели бы что-то вроде этого:
Sep 19 17:46:10 muru-1604 systemd[1]: [/etc/systemd/system/foo.service:7] Invalid environment assignment, ignoring: export PYTHONPATH=/some/path
Environment
установка не использует синтаксис оболочки. Все, что это принимает, является простым присвоением:
Environment=PYTHONPATH=/some/path