Heim > Artikel > Backend-Entwicklung > Wie behebe ich den Fehler „Kein Anzeigename und keine $DISPLAY-Umgebungsvariable' in Matplotlib?
Fehler: kein Anzeigename und keine Umgebungsvariable $DISPLAY
Dieser Fehler tritt auf, wenn Matplotlib, eine Python-Bibliothek zur Datenvisualisierung, dies versucht Verwenden Sie ein Backend, das eine grafische Ausgabe erfordert, aber keine gültige Anzeigeumgebung finden kann.
Matplotlib verwendet standardmäßig das Xwindows-Backend, für das ein X-Server und eine Umgebungsvariable $DISPLAY festgelegt werden müssen. Im gegebenen Szenario deutet der Fehler darauf hin, dass auf dem Server, auf dem das Python-Skript ausgeführt wird, weder ein Anzeigename noch eine $DISPLAY-Variable verfügbar ist.
Lösung:
Um dieses Problem zu beheben, können Sie Matplotlib so einstellen, dass es ein nicht interaktives Backend verwendet, das keine grafische Ausgabe erfordert. Fügen Sie am Anfang Ihres Skripts die folgende Zeile hinzu, bevor Sie matplotlib importieren:
<code class="python">import matplotlib matplotlib.use('Agg')</code>
Dadurch wird Matplotlib für die Verwendung des Agg-Backends konfiguriert, einem nicht interaktiven Backend, das Ausgaben in einem Dateiformat generiert, z als PNG oder PDF.
Alternativ können Sie die folgende Zeile zu Ihrer .config/matplotlib/matplotlibrc-Datei hinzufügen, um das nicht interaktive Backend zum Standard zu machen:
backend: Agg
Wenn ja Wenn Sie einen X-Server auf einem Remote-Computer haben, können Sie den folgenden SSH-Befehl verwenden, um X11-Verbindungen weiterzuleiten:
<code class="bash">ssh -X remoteMachine.com</code>
Dadurch wird die Umgebungsvariable $DISPLAY auf dem Remote-Computer festgelegt, sodass Matplotlib das Xwindows-Backend verwenden kann .
Schließlich können Sie versuchen, die Variable $DISPLAY manuell zu exportieren:
<code class="bash">export DISPLAY=mymachine.com:0.0</code>
Dadurch wird die Variable $DISPLAY auf die angegebene Remote-Maschine und Anzeigenummer gesetzt.
Weitere Informationen zu diesem Fehler und möglichen Lösungen finden Sie in der Matplotlib-Dokumentation: https://matplotlib.org/faq/howto_faq.html#matplotlib-in-a-web-application-server
Das obige ist der detaillierte Inhalt vonWie behebe ich den Fehler „Kein Anzeigename und keine $DISPLAY-Umgebungsvariable' in Matplotlib?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!