Dieser Fehler tritt auf, wenn versucht wird, ein PNG-Bild mit Matplotlib in der DISPLAY-Umgebung zu generieren Variable ist nicht gesetzt oder undefiniert. Dies tritt normalerweise auf, wenn matplotlib in einer Headless-Umgebung wie einem Server oder einem Batch-Skript ausgeführt wird.
Die Hauptursache für diesen Fehler ist, dass matplotlib ein Backend auswählt, das standardmäßig eine X Windows-Anzeige erfordert. Um dieses Problem zu beheben, müssen Sie matplotlib explizit zwingen, ein Backend zu verwenden, das kein X Windows erfordert.
Lösung:
Um dieses Problem zu beheben, fügen Sie vorher den folgenden Code ein Importieren anderer Matplotlib-Module:
import matplotlib # Force matplotlib to use a backend that does not require X Windows. matplotlib.use('Agg')
Dadurch wird das Backend auf das Agg-Backend (Anti-Grain Geometry) eingestellt ist für die Generierung von Bildern konzipiert, ohne dass eine X-Windows-Anzeige erforderlich ist.
Alternative Lösung:
Eine alternative Lösung besteht darin, das Backend direkt im festzulegen. matplotlibrc Konfigurationsdatei. Diese Datei befindet sich normalerweise im Verzeichnis ~/.config/matplotlib. Fügen Sie der Datei die folgende Zeile hinzu:
backend: Agg
Dadurch wird das Backend für alle Matplotlib-Instanzen dauerhaft auf Agg gesetzt.
Wichtig
Denken Sie daran dass diese Lösungen implementiert werden müssen, bevor Sie andere Matplotlib-Module importieren, z pyplot. Andernfalls hat matplotlib sein Backend bereits ausgewählt und die use('Agg')-Direktive hat keine Wirkung.
Das obige ist der detaillierte Inhalt vonWie behebe ich den Fehler „Generieren eines PNG mit Matplotlib, wenn DISPLAY undefiniert ist'?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!