我想「激活」systemd服務文件中的virtualenv。如何在systemd服務單元中啓用virtualenv?
我想避免在systemd進程和python解釋器之間有一個shell進程。
我目前的解決辦法是這樣的:
[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 }}
,但我有麻煩了。我得到ImportErrors,因爲sys.path中的某些內容缺失。
能否請你包括你所得到的錯誤? –
@PraveenYalagandula回溯沒有包含任何有用的信息,因爲ImportError異常和它上面的所有行只包含自定義代碼,在這裏並不重要。 – guettli