"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > Comment résoudre l'erreur « _tkinter.TclError : pas de nom d'affichage et pas de variable d'environnement $DISPLAY » lors de l'utilisation de Matplotlib sur un serveur ?

Comment résoudre l'erreur « _tkinter.TclError : pas de nom d'affichage et pas de variable d'environnement $DISPLAY » lors de l'utilisation de Matplotlib sur un serveur ?

Publié le 2024-11-08
Parcourir:539

How to Resolve \

Résolution de l'erreur "_tkinter.TclError : aucun nom d'affichage et aucune variable d'environnement $DISPLAY"

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 capacité.

Pour résoudre ce problème, vous pouvez demander à Matplotlib d'utiliser à la place un backend non interactif. Insérez le code suivant au début de votre script, avant d'importer pyplot :

import matplotlib
matplotlib.use('Agg')

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 permet vous d'accéder à distance aux applications Xwindows.

Enfin, vous pouvez définir la variable d'environnement DISPLAY :

export DISPLAY=mymachine.com:0.0

En spécifiant un identifiant valide nom d'affichage, 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 -un-serveur-d'application-web

Déclaration de sortie Cet article est réimprimé à l'adresse : 1729601058. En cas d'infraction, veuillez contacter [email protected] pour le supprimer.
Dernier tutoriel Plus>

Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.

Copyright© 2022 湘ICP备2022001581号-3