django – sudo /etc/init.d/celeryd start生成“未知命令:’ce
我正在使用我的虚拟环境中的变量设置celery来运行daemonized.但是当我运行$sudo /etc/init.d/celeryd start时,我收到未知命令:’celeryd_multi’输入’manage.py help’以供使用.
我设置了以下内容:
当我从命令行运行$/home/myuser/.virtualenvs/myproject/bin/python /home/myuser/projects/myproject/manage.py celeryd_multi时,它运行正常. 有任何想法吗?我很乐意发布你需要的任何其他代码:) 谢谢! 解决方法
这里的问题是当你以用户身份运行它时,virtualenv已经为你的用户“myuser”激活了适当的环境,它从/home/myuser/.virtualenvs/myproject /中提取包.
当您执行sudo /etc/init.d/celeryd start时,您将以root身份启动芹菜,如果这样的东西甚至存在,可能没有在/root/.virtualenvs/中激活virtualenv,因此它在/ usr中查找python包/ lib / …你的默认python是什么,因此你的芹菜没有安装. 您可以选择: >在root用户下复制相同的virtualenv并像尝试使用sudo一样启动它 思考: >避免将root用于任何你不需要的东西.>如果您不需要芹菜来启动,那么这很好,可能包含在脚本中.>对我来说简单的hackish,但如果你不想再投资30分钟来使用别的东西,那就有效.>强烈推荐可能是处理所有python启动需求的最佳方法. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |