Tôi muốn "kích hoạt" virtualenv trong tệp dịch vụ systemd.
Tôi muốn tránh có một quy trình trình bao giữa quy trình systemd và trình thông dịch python.
Giải pháp hiện tại của tôi trông như thế này:
[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 }}
Nhưng tôi đang gặp khó khăn. Tôi nhận được ImportErrors vì một số enties trong sys.path bị thiếu.