【问题标题】:Upstart problem with virtualenv - Python/Ubuntuvirtualenv 的新贵问题 - Python/Ubuntu
【发布时间】:2010-12-29 15:56:55
【问题描述】:

我正在使用 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 解释器进行采购工作正常 :)

之前应该考虑过这个!


有什么想法吗?

【问题讨论】:

    标签: python django ubuntu virtualenv upstart


    【解决方案1】:

    我不是暴发户专家 - 但我认为问题在于您正在尝试 sudo 那些命令。如果 upstart 使用普通的“sudo”,那么您正在尝试将 shell 函数作为命令运行 - 这是您无法做到的。

    尝试删除其中的 sudo 部分,看看它是否有效。

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

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2011-05-30
        • 2011-07-01
        • 1970-01-01
        • 2013-05-21
        • 1970-01-01
        • 2015-07-01
        • 2012-01-01
        相关资源
        最近更新 更多