2014-09-05 4 views
0

저는 내 centOs 서버에서 파이썬 스크립트를위한 업 스타트 서비스를 설정하고 있습니다. 비록 스크립트가 작동하려면 파이썬 2.7이 필요합니다. 하지만 서버의 기본 파이썬 버전은 2.6이며 다른 스크립트가 실패 할까 봐 걱정 스럽기 때문에 변경하고 싶지 않습니다.파이썬 스크립트를 특정 파이썬 버전으로 시작 서비스로 실행합니다.

파이썬 2.7을 설치하고 테스트 해본 결과 내 스크립트에서 완벽하게 작동합니다. 비록 내가 파이썬 2.7로 파일을 실행하도록 .conf 파일을 작성해야하는지 궁금하지만. 지금은 "작업을 시작하지 못했습니다"라는 메시지가 표시되기 때문입니다. 스크립트를 실행할 때 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 
+0

첫 번째 단락은 _do_ 2.7을 사용하려고하지만 2.6 미만에서 실행된다는 것을 말합니다. 두 번째 단락은 2.7을 사용하고 작업을 시작하지 못한다는 것을 "스크립트를 실행할 때 2.7을 사용하기 때문에"라고 생각하지 않습니다. 나는 그것이 후자가 아니라 이전이라고 추측하고 있지만 분명하게하기 위해 질문을 편집해야합니다. – abarnert

+0

또한'the! Script.py' 또는'#!/usr/bin/python'의 상단에'#!/usr/local/bin/python2.7' 또는 유사한 것을 넣었습니까? 후자 인 경우이 문제가 발생하는 이유입니다. 어떻게 스크립트를 배포하는지 모르겠지만 (setuptools 포함) 다양한 것들이 설치/배포의 일부로서 자동으로 업데이트하는 방법을 알고 있으므로 배포 프로세스를 수정하는 것이 올바른 해결책 일 수 있습니다. – abarnert

+0

내 오타를 유감스럽게 생각합니다. 2.7을 사용하고 싶지만 2.6을 사용하고 있다고 생각합니다. 그래서 나는 그것을 바꿨다. 나는 Daniel의 대답이 (비록 2.6 대신에 2.7을 사용한다면) 효과가있을 것이라고 생각한다. 그러나 나는 그것을 시도하기 위해 내일까지 재치가 있어야 할 것이다. – jimutt

답변

3

그냥 직접 실행 파이썬를 호출하지 않고 스크립트 자체를 호출하는 대신, 매개 변수로 스크립트를 전달할 수 있습니다.

exec /path/to/my/python2.6 /home/aUser/scriptLocation/theScript.py 
+2

나는 그가 2.6을 사용하지 않고 2.7을 사용할 것으로 생각한다. (약간의 질문은 있지만 약간의 차이는 있지만) 그렇지 않다면, 자리 잡는다. – abarnert

+0

감사! 나는 내일 아침까지 그것을 시도 할 것이다. 그리고 버전에 관해서는 abarnert가 옳습니다. 질문이 오타가되어 불분명 해지면 나쁘다. 그러나 나는 내일 당신의 방법을 시도 할 것이고 그것이 작동한다면 당신의 코멘트를 대답으로 표시 할 것입니다. – jimutt