Maison > développement back-end > Tutoriel Python > Comment générer des PNG avec Matplotlib dans un environnement sans tête ?

Comment générer des PNG avec Matplotlib dans un environnement sans tête ?

Patricia Arquette
Libérer: 2024-12-02 18:45:13
original
322 Les gens l'ont consulté

How to Generate PNGs with Matplotlib in a Headless Environment?

Générer un PNG avec matplotlib lorsque DISPLAY n'est pas défini

Le message d'erreur indique que matplotlib essaie d'utiliser un backend interactif, qui nécessite un affichage. Cependant, la variable d'environnement DISPLAY n'est pas définie. Définir le backend de matplotlib sur Agg (non interactif) peut résoudre cette erreur.

Solution utilisant le backend Agg

Importez matplotlib et forcez-le à utiliser le backend Agg avant d'importer tout autre module matplotlib :

import matplotlib
# Force matplotlib to not use any Xwindows backend.
matplotlib.use('Agg')
Copier après la connexion

Cela garantit que matplotlib utilise un backend non interactif, éliminant ainsi la dépendance à un display.

Configuration matplotlib

Vous pouvez également définir le backend dans votre fichier de configuration ~/.matplotlibrc :

backend: Agg
Copier après la connexion
Copier après la connexion

Pour utiliser le backend Agg sans ajouter de lignes de code , créez ou modifiez le fichier de configuration (~/.matplotlibrc) avec ce qui suit contenu :

backend: Agg
Copier après la connexion
Copier après la connexion

En vous assurant que matplotlib utilise un backend non interactif, vous pouvez générer des fichiers PNG sans nécessiter d'affichage. Cette solution est particulièrement utile lors de l'exécution de scripts sur des serveurs ou dans des environnements sans tête où aucun affichage n'est disponible.

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