У меня есть скрипт Python, который управляет серией CasperJS . ] задачи и обрабатывает результат. Он хорошо запускается из командной строки, но когда я запускаю скрипт в cron, я получаю сообщение об ошибке:
CalledProcessError: Command '['/path/to/casperjs', '/path/to/doSomething.js', 'args']' returned non-zero exit status 1
В Python я вызываю CasperJS:
response = subprocess.check_output(['/path/to/casperjs', '/path/to/doSomething.js', 'args'], shell=True)
Я также пробовал shell=False
и Popen
, но я получаю такой же результат. Я также пытался сделать всю команду строкой (вместо списка ), но это тоже не помогло.
Запуск '/path/to/casperjs /path/to/doSomething.js args'
возвращает код выхода 0 при запуске в оболочке.
Я также добавил PATH=/usr/bin:/bin:/sbin:/usr/local/bin
в свой crontab, но безрезультатно. (Как предложено в этот вопрос .)
Есть идеи, почему я получаю эту ошибку только в cron? Спасибо!!
РЕДАКТИРОВАТЬ:В соответствии с ответом ниже, установка shell=False
и stderr=subprocess.STDOUT
заставила все работать...