web-dev-qa-db-fra.com

Installer Tkinter sur Amazon Linux

Je travaille sur une machine Amazon Linux ec2. Lorsque j'essaie d'exécuter un script Python dans virtualenv, le message suivant s'affiche:

File "/home/sp/Envs/crispor/local/lib/python2.7/dist-packages/matplotlib/externals/six.py", line 80, in _import_module
__import__(name)
ImportError: No module named Tkinter

Si je comprends bien, Tkinter aurait dû faire partie de l’installation de Python. Mais de toute façon ce n'est pas. Ceux-ci ne fonctionnent pas - 

Sudo yum install python-tk
Sudo yum install tkinter

Comment installer Tkinter? Ou devrais-je faire cela du tout, car cela aurait dû faire partie de l'installation de Python?

13
Swetabh

Vous ne voulez pas (et probablement vous ne pouvez pas) installer tkinter sur ce serveur. Configurez matplotlib pour utiliser un backend non interactif à la place.

Mettez ceci dans votre fichier matplotlibrc :

backend : agg

UPDATE Ceci ne devrait pas être nécessaire pour matplotlib> = 3.0.0, selon le documentation "[h] eadless serveurs Linux (identifiés par le non affichage de l'env. env.) ne sélectionnera pas d'interface graphique backend ".

32
Goyo

ajouter à @Goyo. vous pouvez aussi basculer le mode en agg de code.

import matplotlib
matplotlib.use('agg',warn=False, force=True)
from matplotlib import pyplot as plt
print "Switched to:",matplotlib.get_backend()
13
z-star