У меня есть программа 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
Если вы проверяете статус своей службы, вы бы увидели что-то вроде этого:
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