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
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