13 votes

Modules manquants dans le backend Matplotlib avec underscore

J'utilise matplotlib depuis un certain temps sans problème. Cela fait un moment que j'ai eu besoin des fonctions de traçage interactif (pour lesquelles j'ai utilisé Tkaag). Depuis lors, j'ai mis à jour matplotlib à plusieurs reprises.

J'ai essayé de l'utiliser aujourd'hui, mais une erreur s'est produite.

/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

J'ai essayé un autre backend, ajouté le

backend      : GTKAgg

à matplotlibrc. Juste pour obtenir la même erreur pour un module différent.

ImportError: No module named _backend_gdk

Lorsque j'ai parcouru les backends dans /usr/local/lib/python2.7/dist-packages/matplotlib/backends/, j'ai remarqué que tous les modules requis avec un trait de soulignement sont manquants.

alan@linux /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

Ma version actuelle de matplotlib :

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

J'ai essayé de désinstaller et de réinstaller matplotlib avec :

pip uninstall matplotlib
pip install matplotlib

et tout s'est bien passé.

Des conseils sur la façon de remettre en marche le traçage interactif ?

    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

13voto

Alan Points 1636

Grâce au commentaire de peison, j'ai vérifié le journal d'installation de matplotlib et il montre beaucoup de dépendances.

Je ne l'avais pas remarqué avant, car le processus d'installation s'est déroulé très rapidement avec l'utilisation du logiciel.

pip install matplotlib

et s'est terminée par une installation réussie.

Pour répondre à la question. La solution était d'installer les paquets tk et tk-dev, et de reconstruire matplotlib.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X