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?
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 ".
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()