virtualenv的新贵问题 - Python / Ubuntu

时间:2010-12-29 15:56:55

标签: python django ubuntu virtualenv upstart

我正在使用upstart来启动此脚本:

pre-start script
    sudo export WORKON_HOME=~/.envs
    sudo source /usr/local/bin/virtualenvwrapper.sh
    sudo workon env1
end script

start on runlevel [2345]
stop on runlevel [!2345]

exec python /home/radiant/www/staging/django_project/manage.py celerycam > /home/radiant/www/staging/logs/celerycam.log

respawn

respawn limit 10 90

如果它没有pre-start script,那么使用脚本块我就可以了:

  

开始:作业无法启动


我的修复:

而不是使用虚拟环境的python解释器来源工作正常:)

之前应该考虑过这个!


任何想法可能是什么?

2 个答案:

答案 0 :(得分:2)

我不是一个新贵专家 - 但我认为问题在于你是在尝试sudo这些命令。如果upstart使用股票“sudo”,那么你试图将shell函数作为命令运行 - 你不能这样做。

尝试删除它的sudo部分以查看它是否有效。

pre-start script
    export WORKON_HOME=~/.envs
    source /usr/local/bin/virtualenvwrapper.sh
    workon env1
end script

答案 1 :(得分:1)

在Upstart下运行时,它可能是~解析的内容。尝试为WORKON_HOME指定绝对路径,并检查作业运行的用户是否具有对所有相关目录和文件的权限。