2012-10-28 9 views
11

Utilizzo Matplotlib da tempo senza problemi. È passato un po 'di tempo da quando avevo bisogno delle funzioni di trama interattiva (per le quali era stato usato Tkaag). Da allora ho aggiornato Matplotlib alcune volte.Modulo backend Matplotlib con moduli di sottolineatura mancanti

Ho provato a usarlo oggi, ma ha generato un errore.

/usr/local/lib/python2.7/dist-packages/matplotlib/backends/tkagg.py in <module>() 
----> 1 import _tkagg 
     2 import Tkinter as Tk 
     3 
     4 def blit(photoimage, aggimage, bbox=None, colormode=1): 
     5  tk = photoimage.tk 

ImportError: No module named _tkagg 

ho provato un backend diverso, aggiunto il

backend  : GTKAgg 

a matplotlibrc. Solo per ottenere lo stesso errore per un modulo diverso.

ImportError: No module named _backend_gdk 

Quando ho passato in rassegna per il backend in /usr/local/lib/python2.7/dist-packages/matplotlib/backends/ ho notato che tutti i moduli necessari con sottolineatura mancano.

[email protected] /usr/local/lib/python2.7/dist-packages/matplotlib/backends $ ls 
backend_agg.py  backend_macosx.py backend_template.pyc 
backend_agg.pyc  backend_macosx.pyc backend_tkagg.py 
_backend_agg.so  backend_mixed.py  backend_tkagg.pyc 
backend_cairo.py  backend_mixed.pyc backend_wxagg.py 
backend_cairo.pyc  backend_pdf.py  backend_wxagg.pyc 
backend_cocoaagg.py backend_pdf.pyc  backend_wx.py 
backend_cocoaagg.pyc backend_ps.py  backend_wx.pyc 
backend_emf.py  backend_ps.pyc  __init__.py 
backend_emf.pyc  backend_qt4agg.py __init__.pyc 
backend_fltkagg.py backend_qt4agg.pyc Matplotlib.nib 
backend_fltkagg.pyc backend_qt4.py  qt4_compat.py 
backend_gdk.py  backend_qt4.pyc  qt4_compat.pyc 
backend_gdk.pyc  backend_qtagg.py  qt4_editor 
backend_gtkagg.py  backend_qtagg.pyc tkagg.py 
backend_gtkagg.pyc backend_qt.py  tkagg.pyc 
backend_gtkcairo.py backend_qt.pyc  windowing.py 
backend_gtkcairo.pyc backend_svg.py  windowing.pyc 
backend_gtk.py  backend_svg.pyc 
backend_gtk.pyc  backend_template.py 

Il mio attuale versione matplotlib:

matplotlib  - 1.1.1  - active development (/usr/local/lib/python2.7/dist-packages) 

Ho provato disinstallato e reinstallato matplotlib con:

pip uninstall matplotlib 
pip install matplotlib 

e tutto è andato bene.

Suggerimenti sull'impostazione per il riavvio della stampa interattiva?

BUILDING MATPLOTLIB 

       matplotlib: 1.1.1 

        python: 2.7.3rc2 (default, Apr 22 2012, 22:35:38) [GCC 

          4.6.3] 

        platform: linux2 



    REQUIRED DEPENDENCIES 

        numpy: 1.6.2 

       freetype2: 14.1.8 



    OPTIONAL BACKEND DEPENDENCIES 

        libpng: 1.2.49 

        Tkinter: no 

          * Using default library and include directories for 

          * Tcl and Tk because a Tk window failed to open. 

          * You may need to define DISPLAY for Tk to work so 

          * that setup can determine where your libraries are 

          * located. Tkinter present, but header files are not 

          * found. You may need to install development 

          * packages. 

       pkg-config: looking for pygtk-2.0 gtk+-2.0 

          * Package pygtk-2.0 was not found in the pkg-config 

          * search path. Perhaps you should add the directory 

          * containing `pygtk-2.0.pc' to the PKG_CONFIG_PATH 

          * environment variable No package 'pygtk-2.0' found 

          * Package gtk+-2.0 was not found in the pkg-config 

          * search path. Perhaps you should add the directory 

          * containing `gtk+-2.0.pc' to the PKG_CONFIG_PATH 

          * environment variable No package 'gtk+-2.0' found 

          * You may need to install 'dev' package(s) to 

          * provide header files. 

         Gtk+: no 

          * Could not find Gtk+ headers in any of 

          * '/usr/local/include', '/usr/include', '.' 

      Mac OS X native: no 

         Qt: no 

         Qt4: Qt: 4.8.1, PyQt4: 4.9.1 

        PySide: no 

        Cairo: 1.8.8 



    OPTIONAL DATE/TIMEZONE DEPENDENCIES 

        datetime: present, version unknown 

        dateutil: matplotlib will provide 

         pytz: matplotlib will provide 

    adding pytz 



    OPTIONAL USETEX DEPENDENCIES 

        dvipng: 1.14 

       ghostscript: 9.05 

        latex: 3.1415926 

        pdftops: 0.18.4 
+2

Quale output si ottiene quando pip installa matplotlib? Sospetto che lo script setup.py non stia ottenendo le librerie appropriate e quindi non sta creando i backend Tk o Gtk. – pelson

risposta

11

Grazie al commento di peison ho controllato il log di installazione per matplotlib e ha mostrato molte dipendenze.

non ho notato che prima, perché l'intero processo di istallazione corse veramente veloce utilizzando

pip install matplotlib

e si è conclusa con un succesfull installazione.

Per rispondere alla domanda. La soluzione era installare i pacchetti tk e tk-dev e ricostruire matplotlib.

+0

Grazie. La reinstallazione di matplotlib funziona! –

+6

Ho fatto 'pip disinstallare matplotlib'' sudo apt-get install tk' 'sudo apt-get install tk-dev'' pip installa matplotlib', tutti sono stati eseguiti correttamente, ma ho ancora 'ImportError: impossibile importare il nome _tkagg' – Peter

+0

On Ubuntu 14.04 Ho dovuto installare una versione precedente prima che i miei grafici mostrassero 'sudo pip install matplotlib == 1.5.0' (l'ultima versione era' 1.5.1') – hobs