crontab shell时python运行redis错误

时间:2014-07-16 11:05:05

标签: python redis crontab

我在我的文件夹中安装了redis-2.7.1,然后运行我的python代码,它运行了。

COMMON_MODEL_DIR="/data/aa/redis-2.7.1"
sys.path.append(COMMON_MODEL_DIR)
import redis

当我设置crontab时,

*/10 1-23 * * * (cd /data3/aa/; python step.py 2 >> /data3/aa/2.log 2>&1)

但它没有奏效 它会报告

Traceback (most recent call last):
  File "step.py", line 11, in ?
    import redis
  File "/data/aa/redis-2.7.1/redis/__init__.py", line 1, in ?
    from redis.client import Redis, StrictRedis
  File "/data/aa/redis-2.7.1/redis/client.py", line 157
    response = [nativestr(i) if i is not None else None for i in response]
                              ^
SyntaxError: invalid syntax

我将如何解决?

1 个答案:

答案 0 :(得分:1)

显然,运行cron作业的用户帐户正在使用另一个(并且很旧)不支持三元表达式的Python版本。找出您正在使用哪个Python 并在crontab中传递完整路径。