【发布时间】:2014-09-05 21:56:00
【问题描述】:
我正在为我的 centOs 服务器上的 python 脚本设置一个新贵服务。虽然脚本需要 python 2.7 才能工作。但是服务器上的默认python版本是2.6,我不想更改它,因为我担心其他脚本会失败。
我已经安装了 python 2.7 并对其进行了测试,它与我的脚本完美配合。虽然我想知道我应该如何编写 .conf 文件以使该文件使用 python 2.7 执行。因为现在我收到“作业无法启动”消息。我相信这可能是因为它在执行脚本时使用的是 2.6。
这是我当前的 conf 文件(虽然目录和文件名已更改):
description "MY SCRIPT DESCRIPTION"
author "MY NAME"
start on runlevel [234]
stop on runlevel [0156]
chdir /home/aUser/scriptLocation
exec /home/aUser/scriptLocation/theScript.py
respawn
【问题讨论】:
-
您的第一段说您确实想使用 2.7 但最终在 2.6 下运行。您的第二段暗示您不想想要使用 2.7,并认为“可能是因为它在执行脚本时使用 2.7”导致作业无法启动。我猜是前者,而不是后者,但您应该编辑问题以使其清楚。
-
另外,您是否在
theScript.py或#!/usr/bin/python的顶部放置了#!/usr/local/bin/python2.7或类似名称?因为如果是后者,这就是你遇到这个问题的原因。我不知道您是如何部署脚本的,但各种事物(包括setuptools)都知道如何在安装/部署过程中自动更新 shebang,因此在这里修复您的部署过程可能是正确的解决方案。 -
抱歉我的错字。我想使用 2.7,但我认为它使用的是 2.6。所以我改变了这一点。我认为丹尼尔的答案会起作用(如果我只使用 2.7 而不是 2.6)。但我得等到明天才能尝试。
标签: python linux python-2.7 centos upstart