Voglio "attivare" un virtualenv in un file di servizio systemd.Come abilitare un virtualenv in un'unità di servizio systemd?
Vorrei evitare di avere un processo shell tra il processo systemd e l'interprete python.
mia soluzione attuale assomiglia a questo:
[Unit]
Description=fooservice
After=syslog.target network.target
[Service]
Type=simple
User=fooservice
WorkingDirectory={{ venv_home }}
ExecStart={{ venv_home }}/fooservice --serve-in-foreground
Restart=on-abort
EnvironmentFile=/etc/sysconfig/fooservice.env
[Install]
WantedBy=multi-user.target
/etc/sysconfig/fooservice.env
PATH={{ venv_home }}/bin:/usr/local/bin:/usr/bin:/bin
PYTHONIOENCODING=utf-8
PYTHONPATH={{ venv_home }}/...
VIRTUAL_ENV={{ venv_home }}
Ma io sto avendo difficoltà. Ottengo ImportErrors poiché mancano alcune entità in sys.path.
Potete per favore includere gli errori si stanno ottenendo? –
@PraveenYalagandula Il traceback non contiene alcuna informazione utile, poiché l'Eccezione ImportError e tutte le righe sopra di esso contengono solo codice personalizzato che non importa qui. – guettli