Tôi muốn "kích hoạt" virtualenv trong tệp dịch vụ systemd.Làm thế nào để kích hoạt virtualenv trong một đơn vị dịch vụ systemd?
Tôi muốn tránh có quá trình shell giữa quá 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 kể từ khi một số enties trong sys.path là mất tích.
bạn có thể vui lòng bao gồm các lỗi bạn đang nhận được? –
@PraveenYalagandula Truy nguyên không chứa bất kỳ thông tin hữu ích nào, vì Ngoại lệ ImportError và tất cả các dòng ở trên nó chỉ chứa mã tùy chỉnh không quan trọng ở đây. – guettli