Erreur : pas de nom d'affichage et pas de variable d'environnement $DISPLAY
Cette erreur se produit lorsque Matplotlib, une bibliothèque Python pour la visualisation de données, tente de utilisez un backend qui nécessite une sortie graphique mais ne trouve pas d'environnement d'affichage valide.
Matplotlib utilise par défaut le backend Xwindows, qui nécessite la définition d'un serveur X et d'une variable d'environnement $DISPLAY. Dans le scénario donné, l'erreur suggère que ni un nom d'affichage ni une variable $DISPLAY ne sont disponibles sur le serveur sur lequel le script Python est exécuté.
Solution :
Pour résoudre ce problème, vous pouvez configurer Matplotlib pour qu'il utilise un backend non interactif qui ne nécessite pas de sortie graphique. Ajoutez la ligne suivante au début de votre script, avant d'importer matplotlib :
<code class="python">import matplotlib matplotlib.use('Agg')</code>
Cela configurera Matplotlib pour utiliser le backend Agg, qui est un backend non interactif qui génère une sortie dans un format de fichier, tel que au format PNG ou PDF.
Vous pouvez également ajouter la ligne suivante à votre fichier .config/matplotlib/matplotlibrc pour définir le backend non interactif par défaut :
backend: Agg
Si vous avez un serveur X disponible sur une machine distante, vous pouvez utiliser la commande SSH suivante pour transférer les connexions X11 :
<code class="bash">ssh -X remoteMachine.com</code>
Cela définira la variable d'environnement $DISPLAY sur la machine distante, permettant à Matplotlib d'utiliser le backend Xwindows .
Enfin, vous pouvez essayer d'exporter la variable $DISPLAY manuellement :
<code class="bash">export DISPLAY=mymachine.com:0.0</code>
Cela définira la variable $DISPLAY sur la machine distante spécifiée et affichera le numéro.
Pour plus d'informations sur cette erreur et les solutions possibles, consultez la documentation Matplotlib : https://matplotlib.org/faq/howto_faq.html#matplotlib-in-a-web-application-server
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!