在upstart配置文件中激活conda环境

时间:2017-06-16 15:53:37

标签: ubuntu-14.04 anaconda gunicorn conda upstart

我有一个数字海洋水滴通过ubuntu上的gunicorn运行django项目。用于管理python依赖关系的conda环境。

我可以登录,运行source activate py35cd进入django项目并运行gunicorn django.wsgi -w 2 -t 360,让一切都没有问题。

我已尝试修改创建Droplet时由digital ocean创建的upstart脚本:

description "Gunicorn daemon for Django project"

start on (local-filesystems and net-device-up IFACE=eth0)
stop on runlevel [!12345]

# If the process quits unexpectadly trigger a respawn
respawn limit 10 2

setuid my_username
setgid my_username
chdir /home/my_username/django


script
    exec source activate py35
    exec gunicorn django.wsgi -w 2 -t 360
end script

然而,工作人员无法启动,并且在日志中错误是由于项目试图在标准安装的python上运行,而不是conda env。如何在upstart配置文件中激活conda环境?

1 个答案:

答案 0 :(得分:2)

upstart使用/ bin / sh,而源需要使用/ bin / bash

执行

试试这个:

script
/bin/bash <<EOT
     source activate py35 && gunicorn django.wsgi -w 2 -t 360
EOT
end script