python - virtualenv 的 Upstart 问题 - Python/Ubuntu

标签 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
<小时/>

没有预启动脚本它可以工作,使用脚本 block 我得到这个:

start: Job failed to start

<小时/>

我的修复:

不使用虚拟环境的 python 解释器进行采购也可以正常工作:)

之前就应该考虑一下这个问题!

<小时/>

有什么想法吗?

最佳答案

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

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

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

关于python - virtualenv 的 Upstart 问题 - Python/Ubuntu,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4555602/

相关文章:

iPhone POSTing Django 并获取 CSRF 验证失败

ubuntu - NGINX SEO 重写

python - 从另一个函数更改函数中的局部变量

python - Cython 速度与 numpy

python - 根据另一个查询集的长度对一个查询集进行排序

php - CakePhp 应用程序在 EC2 Ubuntu 实例上出现 500 服务器错误

python - 为什么每次 PyQt5 项目都会收到警告 "QStandardPaths: XDG_RUNTIME_DIR not set"

python - 使用python检索xml中多个<br>之间的文本

python 在 leopard 上安装

python - Django 错误 : Could not import settings 'interfaces.settings'