首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >/init.d/function + python版本

/init.d/function + python版本
EN

Stack Overflow用户
提问于 2013-06-11 07:19:44
回答 1查看 352关注 0票数 0

我正在尝试使芹菜和芹菜节拍变得更有活力。

我的问题是,当我运行这两个文件时,celeryd和celerybeat使用system python (2.4),因此在python2.7下找不到其他安装的应用程序。Python2.7是在~/.bashrc/.bash_profile文件中,所以我在运行其他应用程序时没有任何问题,除非工人无法工作。当我运行python ...../manage.py celery (使用所有选项)时,一切工作起来都很棒。

请告诉我如何才能强制/init.d/function运行python2.7。

我曾尝试实现#! /bin/sh python,但它不起作用。

EN

回答 1

Stack Overflow用户

发布于 2013-07-01 22:17:08

/etc/init.d中的脚本通常在系统启动时以根用户身份运行。根目录的~/.bashrc (即/root/.bashrc)看起来将与您的完全不同(例如/home/reza/.bashrc)。如果您以交互方式运行或不以交互方式运行,您的shell的行为将略有不同。

因此,尝试通过/bin/sh运行python解释器是没有用的,它只会增加开销。

您想要的是添加一个适当的shebang,它告诉系统要为您的脚本使用哪个解释器。

例如:

代码语言:javascript
复制
#!/usr/bin/python2.7

将使用安装在/usr/bin中的python2.7二进制文件。(因此,无论何时运行/etc/init.d/foo.py,系统实际上都运行/usr/bin/python2.7 /etc/init.d/foo.py)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17034338

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档