Ubuntu - Supervisord e virtualenv

5

Estou tentando executar uma série de aplicativos Python do supervisor. Ele funciona bem no Mac OSX, mas quando eu tento rodar o mesmo aplicativo no Ubuntu, o supervisor não parece estar ativando o virtualenv, então meus scripts estão jogando erros.

Aqui está minha estrutura:

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

Meu arquivo supervisor.conf tem esta aparência:

[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

Como posso fazer com que o supervisor execute o aplicativo python dentro do ambiente virtual?

    
por Hanpan 28.02.2013 / 16:22

1 resposta

12

O comando que você fornece deve usar o binário python dentro do ambiente virtual:

command = /home/user/Sites/my-site/venv/bin/python /home/user/Sites/my-site/app.py
    
por 28.02.2013 / 18:54