2014-07-16 2 views
3

파이썬 스크립트 실행을 포함하는 쉘 스크립트가 있습니다. 터미널에서 수동으로 실행할 때 제대로 작동합니다. 그러나 cron 작업에서 쉘 스크립트를 실행하면 파이썬 스크립트가 실패합니다.파이썬 스크립트가 cron 작업에서 실행될 때 다른 시간에 오류가 발생합니다

함수가 module1에서 module2로 가져 오는 동안 오류가 발생합니다. 오류가 참조하는 함수는 임포트되는 함수가 아니며 구문 오류가 자체적으로 실행될 때 오류를 발생시키는 함수도 아닙니다. 여기

#!/usr/bin/env python 

from module1 import consolidate_rankings, build_all 

consolidate_rankings() 
build_all() 

쉘 스크립트에서이 호출하는 라인입니다 :

File "/Users/me/module2.py", line 5, in <module> 
    from module1 import consolidate_rankings, build_all 
    File "/Users/me/module1.py", line 159 
    things = {row["thing"]: row for row in rows} 
             ^

SyntaxError: invalid syntax 

모듈 2 스크립트는 매우 간단합니다 : 여기

내가 cron 작업을 실행할 때 기록됩니다 오류의

python /Users/me/module2.py

아무도 아이디어가 없습니다. 모자가 여기 있니?

답변

6

아마도 사전 독해 구문을 지원하지 않는 다른 버전의 Python으로 cron에서 스크립트를 실행하고있을 것입니다.

는이 문제를 해결, 명시 적으로 오두막 라인에서 원하는 파이썬 버전을 추가하려면 :

#!/usr/bin/env python2.7 

을하거나 올바른 명령을 통해 크론에서 스크립트를 실행 :

* * * * /usr/bin/python2.7 /path/to/script.py 
+0

일했다. 감사! –

관련 문제