Heim > Backend-Entwicklung > Python-Tutorial > Wie generiert man PNGs mit Matplotlib in einer Headless-Umgebung?

Wie generiert man PNGs mit Matplotlib in einer Headless-Umgebung?

Patricia Arquette
Freigeben: 2024-12-02 18:45:13
Original
322 Leute haben es durchsucht

How to Generate PNGs with Matplotlib in a Headless Environment?

Generieren eines PNG mit Matplotlib, wenn DISPLAY nicht definiert ist

Die Fehlermeldung weist darauf hin, dass Matplotlib versucht, ein interaktives Backend zu verwenden, das eine Anzeige erfordert. Die Umgebungsvariable DISPLAY ist jedoch nicht festgelegt. Durch Festlegen des Matplotlib-Backends auf Agg (nicht interaktiv) kann dieser Fehler behoben werden.

Lösung mit Agg-Backend

Importieren Sie Matplotlib und erzwingen Sie die Verwendung des Agg-Backends, bevor Sie ein anderes Matplotlib-Modul importieren:

import matplotlib
# Force matplotlib to not use any Xwindows backend.
matplotlib.use('Agg')
Nach dem Login kopieren

Dadurch wird sichergestellt, dass Matplotlib ein nicht interaktives Backend verwendet, wodurch die Abhängigkeit von einem beseitigt wird Anzeige.

matplotlib-Konfiguration

Alternativ legen Sie das Backend in Ihrer ~/.matplotlibrc-Konfigurationsdatei fest:

backend: Agg
Nach dem Login kopieren
Nach dem Login kopieren

Um das Agg-Backend zu verwenden, ohne Codezeilen hinzuzufügen , erstellen oder bearbeiten Sie die Konfigurationsdatei (~/.matplotlibrc) wie folgt Inhalt:

backend: Agg
Nach dem Login kopieren
Nach dem Login kopieren

Indem Sie sicherstellen, dass matplotlib ein nicht interaktives Backend verwendet, können Sie PNG-Dateien generieren, ohne dass eine Anzeige erforderlich ist. Diese Lösung ist besonders nützlich, wenn Skripte auf Servern oder in Headless-Umgebungen ausgeführt werden, in denen keine Anzeige verfügbar ist.

Das obige ist der detaillierte Inhalt vonWie generiert man PNGs mit Matplotlib in einer Headless-Umgebung?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage