Ich habe ein Plot-Skript, das als Cron-Auftrag ausgeführt wurde, aber einen Fehler auslöst. Das Skript wurde in Python 3.5 geschrieben und ein Beispiel ist unten angegeben.QxcbConnection-Fehler, wenn Python matplotlib als Cron-Job ausgeführt wird
import pylab as pl
fig = pl.figure(figsize=(4, 4))
ax = fig.add_supblot(111)
ax.plot(range(10), range(10))
Ich war es in einem Bash-Skript über die folgende Zeile Aufruf: ~/anaconda3/bin/ipython test.py
bekam ich folgende Fehlermeldung in meinem cron Bericht:
QXcbConnection: Could not connect to display
/datadrive/cronjobs/test.sh: line 2: 1459 Aborted (core dumped) ~/anaconda3/bin/python ~/Desktop/test.py
Ich habe sogar versucht, direkt von der Crontab anrufen, aber habe den gleichen Fehler.
Ich habe bestätigt, dass ich das Skript vom Terminal ausführen kann. Beide funktionieren:
$ ~/anaconda3/bin/ipython ~/Desktop/test.py
$ bash /datadrive/cronjobs/test.sh
Es scheint, die Matplotlib mag nicht unter Cron ausgeführt werden, aber ich kann nicht sehen, warum. Weiß jemand, warum das so ist und wie man es repariert?
dies wahrscheinlich die richtige Antwort ist. Ich habe meine Antwort wieder entfernt, weil Sie anscheinend * ein * Python-Skript mit 'ipython' starten können. Es ist einfach nicht zu empfehlen, dies zu tun – hansaplast