Подпроцесс Python возвращает не-нулевой статус выхода только в cron.

У меня есть скрипт 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заставила все работать...

6
задан Community 23 May 2017 в 12:33
поделиться