incapaz de se conectar quando o cron executa meu script python

0

Eu tenho um script python main.py , que lê meu tweet mais recente usando tweepy. Eu criei um script de shell looplauncher.sh, que chama este script python:

cd /
cd home/pi/LCDinterface
sudo python main.py &
cd /

Se eu executar python main.py ou sh looplauncher.sh com ou sem sudo, meu programa será executado corretamente. Eu colei esta linha no cron: usando sudo crontab -e

*/2 * * * * sleep 60 && sudo sh /home/pi/LCDinterface/looplauncher.sh >/home/pi/logs/loopcronlog 2>&1

O script python realmente é executado a cada 2 minutos (eu vejo isso dos logs). Mas eu nunca consigo pegar meu tweet, Se eu rodar main.py manualmente eu sempre recebo meu tweet. Eu tentei muita combinação de sudo / no sudo, adicionado atraso para dar tempo para a conexão. Mas nada funciona até agora. Você pode me ajudar com isso? (Eu estou fazendo isso em um Raspberry Pi 3)

Recebi erros como este, quando o cron é executado:

Traceback (most recent call last):
  File "main.py", line 49, in <module>
    main()
  File "main.py", line 32, in main
    tweet = getTweet('RaspProject')
  File "/home/pi/LCDinterface/twitterHelper.py", line 20, in getTweet
    print (tweet._json['text'])
UnicodeEncodeError: 'ascii' codec can't encode character u'\xe9' in position 32: ordinal not in range(128)

Executar manualmente os scripts funciona bem. (Embora eu realmente tenha algumas cartas húngaras especiais lá, como éőóű

    
por user3598726 05.04.2017 / 23:28

1 resposta

0

Tente adicionar esta linha antes de tudo no seu crontab:

PATH=/usr/bin/:/bin
    
por 06.04.2017 / 09:13