Maison > développement back-end > Tutoriel Python > Comment corriger l'erreur « Générer un PNG avec matplotlib lorsque DISPLAY n'est pas défini » ?

Comment corriger l'erreur « Générer un PNG avec matplotlib lorsque DISPLAY n'est pas défini » ?

Patricia Arquette
Libérer: 2024-12-01 16:10:12
original
237 Les gens l'ont consulté

How to Fix the

Comment résoudre l'erreur « Génération d'un PNG avec matplotlib lorsque DISPLAY n'est pas défini »

Cette erreur survient lors de la tentative de génération d'une image PNG à l'aide de matplotlib lorsque l'environnement DISPLAY la variable n’est pas définie ou n’est pas définie. Cela se produit généralement lors de l'exécution de matplotlib dans un environnement sans tête tel qu'un serveur ou un script batch.

La principale cause de cette erreur est que matplotlib choisit un backend qui nécessite un affichage X Windows par défaut. Pour résoudre ce problème, vous devez explicitement forcer matplotlib à utiliser un backend qui ne nécessite pas X Windows.

Solution :

Pour résoudre ce problème, incluez le code suivant avant importer tout autre module matplotlib :

import matplotlib

# Force matplotlib to use a backend that does not require X Windows.
matplotlib.use('Agg')
Copier après la connexion

Cela définira le backend sur le backend Agg (Anti-Grain Geometry), qui est conçu pour générer des images sans avoir besoin d'un affichage X Windows.

Solution alternative :

Une solution alternative consiste à définir le backend directement dans le . matplotlibrc fichier de configuration. Ce fichier se trouve généralement dans le répertoire ~/.config/matplotlib. Ajoutez la ligne suivante au fichier :

backend: Agg
Copier après la connexion

Cela définira définitivement le backend sur Agg pour toutes les instances matplotlib.

Important

Rappelez-vous que ces solutions doivent être implémentées avant d'importer d'autres modules matplotlib, tels que pyplot. Sinon, matplotlib aura déjà choisi son backend, et la directive use('Agg') n'aura aucun effet.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal