Lors de l'exécution d'un script Python impliquant Matplotlib sur un serveur, vous pouvez rencontrer le erreur "_tkinter.TclError : pas de nom d'affichage et pas de variable d'environnement $DISPLAY." Cette erreur se produit car Matplotlib utilise par défaut le backend Xwindows, qui nécessite un environnement d'affichage graphique. Cependant, les environnements de serveur manquent souvent de cette fonctionnalité.
Pour résoudre ce problème, vous pouvez demander à Matplotlib d'utiliser un backend non interactif à la place. Insérez le code suivant au début de votre script, avant d'importer pyplot :
<code class="python">import matplotlib matplotlib.use('Agg')</code>
Vous pouvez également ajouter la ligne suivante au fichier .config/matplotlib/matplotlibrc :
backend: Agg
Cela configurera Matplotlib pour utiliser le backend Agg, qui ne nécessite pas d'affichage graphique.
Une autre option consiste à utiliser ssh avec le transfert X11 :
ssh -X remoteMachine
Cette commande vous permet d'accéder Applications Xwindows à distance.
Enfin, vous pouvez définir la variable d'environnement DISPLAY :
<code class="bash">export DISPLAY=mymachine.com:0.0</code>
En spécifiant un nom d'affichage valide, Matplotlib pourra se connecter à un affichage graphique sur une autre machine.
Pour plus d'informations, reportez-vous à la FAQ 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!