Maison > développement back-end > Tutoriel Python > Comment corriger l'erreur Tkinter : aucun nom d'affichage et variable d'environnement $DISPLAY ?

Comment corriger l'erreur Tkinter : aucun nom d'affichage et variable d'environnement $DISPLAY ?

Patricia Arquette
Libérer: 2024-10-22 22:39:29
original
1080 Les gens l'ont consulté

How to Fix Tkinter Error: No Display Name and $DISPLAY Environment Variable?

Erreur Tkinter : pas de nom d'affichage et variable d'environnement $DISPLAY

L'erreur "_tkinter.TclError : pas de nom d'affichage et pas d'environnement $DISPLAY variable_" se produit lors de l'exécution d'un script Python à l'aide de matplotlib sur un serveur sans système X-window. Xwindows est un système d'interface utilisateur graphique (GUI) requis par le backend Tkinter par défaut de matplotlib.

Solution :

Pour résoudre ce problème, demandez à matplotlib d'utiliser un backend qui est compatible avec les environnements non-GUI. Il existe plusieurs façons d'y parvenir :

1. Utilisez le backend 'Agg' :

Ajoutez la ligne suivante au début de votre script avant d'importer pyplot :

<code class="python">import matplotlib
matplotlib.use('Agg')</code>
Copier après la connexion

Cela définit le backend matplotlib sur Agg, qui est un non -backend interactif adapté à la génération d'images sans avoir besoin d'un affichage graphique.

2. Définir la configuration de Matplotlib :

Ajoutez la ligne suivante au fichier de configuration ~/.config/matplotlib/matplotlibrc :

backend: Agg
Copier après la connexion

Cela demandera à matplotlib d'utiliser le backend Agg par défaut pour tous les scripts.

3. Utilisez SSH avec X-Forwarding :

Lors de la connexion au serveur via SSH, utilisez l'option -X pour activer X-forwarding :

ssh -X remoteMachine
Copier après la connexion

Cela permettra au script de accédez à l'interface graphique sur votre ordinateur local.

4. Exporter la variable DISPLAY :

Exportez la variable DISPLAY pour pointer vers l'adresse IP et le numéro d'affichage de la machine hôte :

export DISPLAY=mymachine.com:0.0
Copier après la connexion

Plus d'informations :

Pour plus de détails sur l'utilisation de matplotlib dans des environnements non interactifs, 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!

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