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

source:php
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