Назад | Перейти на главную страницу

Ubuntu - Supervisord и virtualenv

Я пытаюсь запустить серию приложений Python от супервизора. Он отлично работает в Mac OSX, но когда я пытаюсь запустить то же приложение в Ubuntu, супервизор, похоже, не активирует virtualenv, поэтому мои скрипты выдают ошибки.

Вот моя структура:

/home/user/Sites/my-site
- app.py
- venv
- supervisor.conf

Мой файл supervisor.conf выглядит так:

[program:python-app]
autorestart = false
autostart = false
startsecs = 0
command = python app.py
startretries = 1
environment=PYTHONPATH="%(here)s"

[unix_http_server]
file = /tmp/supervisor.sock

[supervisord]
logfile = logs/supervisord.log
pidfile = logs/supervisord.pid
environment=PYTHONPATH="%(here)s"

[supervisorctl]
serverurl = unix:///tmp/supervisor.sock

[rpcinterface:supervisor]
supervisor.rpcinterface_factory = supervisor.rpcinterface:make_main_rpcinterface

[unix_http_server]
username = supervisor_admin
password = 

[inet_http_server]
username = supervisor_admin
password = 
port = *:9001

Как я могу заставить супервизора запускать приложение python внутри виртуальной среды?

Предоставляемая вами команда должна использовать python бинарный файл внутри виртуальной среды:

command = /home/user/Sites/my-site/venv/bin/python /home/user/Sites/my-site/app.py