Created
May 24, 2018 09:13
-
-
Save ricferr/90583f608f0b0ae9c3cf6833be04ab85 to your computer and use it in GitHub Desktop.
How to create a systemd service for python script with virtualenv
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
[Unit] | |
Description=Some description | |
After=network.target | |
[Service] | |
Type=simple | |
User=user | |
WorkingDirectory=/home/user/somedir | |
Environment=PYTHONPATH=/home/user/somedir | |
ExecStart=/home/user/venv/bin/python script.py | |
Restart=on-failure | |
[Install] | |
WantedBy=multi-user.target |
VIRTUAL_ENV=/home/path/to/venv
@shoguevara you claim that your snippet is tested and works, but this line is not valid syntax.
Worked by the time I've tested it. Moved on since then, I cant even recall what app I was wrapping that time.
Do not use VIRTUAL_ENV
var to specify the path, SystemD might complain, use PATH directly and also add /bin/
at the end of it, with your example it might be something like:
...
Environment=PATH=/home/path/to/venv/bin:$PATH
...
@andreabenini I don't do it, I just pointed out that it's not valid syntax (Environment=
is missing). In my case, systemd didn't complain about that variable, but using it changed nothing. PATH was also not a problem.
Systemd won't expand variables mentioned in Environment=
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
@shoguevara you claim that your snippet is tested and works, but this line is not valid syntax.