Installer:
Processeur: x86_64
Système d'exploitation: GNU/Linux
Distro: Fedora Release 13 (Goddard).
Python 2.6.4
/usr/bin/python
Voici le problème suivant:
J'essaye de générer quelques graphiques en utilisant Matplotlib et Python. Comme j'entends la majorité des solutions .. il semble y avoir des problèmes de compatibilité entre les architectures matplotlib et 64 bits.
J'ai installé Matplotlib depuis ici
Voici l'erreur que j'obtiens:
Traceback (most recent call last):
File "plot-thread-characterization.py", line 24, in <module>
import matplotlib.pyplot as plt
File "/usr/lib64/python2.6/site-packages/matplotlib/pyplot.py", line 78, in <module>
new_figure_manager, draw_if_interactive, show = pylab_setup()
File "/usr/lib64/python2.6/site-packages/matplotlib/backends/__init__.py", line 25, in pylab_setup
globals(),locals(),[backend_name])
File "/usr/lib64/python2.6/site-packages/matplotlib/backends/backend_gtkagg.py", line 10, in <module>
from matplotlib.backends.backend_gtk import gtk, FigureManagerGTK, FigureCanvasGTK,\
File "/usr/lib64/python2.6/site-packages/matplotlib/backends/backend_gtk.py", line 8, in <module>
import gtk; gdk = gtk.gdk
File "/usr/lib64/python2.6/site-packages/gtk-2.0/gtk/__init__.py", line 64, in <module>
_init()
File "/usr/lib64/python2.6/site-packages/gtk-2.0/gtk/__init__.py", line 52, in _init
_gtk.init_check()
RuntimeError: could not open display
Merci.
matplotlib ne parvient pas à se connecter à un serveur X pour son affichage GTK.
Il y a quelques options ici:
Exécutez un serveur X local et activez le transfert X11 dans votre client ssh, pour afficher la sortie sur votre machine locale. Vous pouvez vérifier que cela fonctionne en vérifiant que la variable d'environnement $ DISPLAY est définie sur le serveur.
Appelez matplotlib.use (...) pour spécifier un back-end d'affichage différent, par exemple le rendu en fichier pdf, avant l'importation de pyplot, par exemple.
import matplotlib as mpl
mpl.use('Agg')
import matplotlib.pyplot as plt
Voir http://matplotlib.org/faq/howto_faq.html#generate-images-without-having-a-window-appear pour plus de détails.