Подтвердить что ты не робот

ImportError: нет модуля с именем _backend_gdk

Я начинаю получать представление о интерактивном графике с помощью python и matplotlib, используя pyGTK+. Поэтому я посмотрел пример приведенный на веб-сайте matplotlib.

Это короткий код кода:

#!/usr/bin/env python
"""
Example of embedding matplotlib in an application and interacting with
a treeview to store data.  Double click on an entry to update plot
data

"""
import pygtk
pygtk.require('2.0')
import gtk
from gtk import gdk

import matplotlib
matplotlib.use('GTKAgg')  # or 'GTK'
from matplotlib.backends.backend_gtk import FigureCanvasGTK as FigureCanvas

from numpy.random import random
from matplotlib.figure import Figure

Я пытаюсь запустить этот Script в Терминале, я получаю следующую ошибку:

Traceback (most recent call last):
  File "gtk_spreadsheet.py", line 15, in <module>
    from matplotlib.backends.backend_gtk import FigureCanvasGTK as FigureCanvas
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/matplotlib/backends/backend_gtk.py", line 33, in <module>
    from matplotlib.backends.backend_gdk import RendererGDK, FigureCanvasGDK
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/matplotlib/backends/backend_gdk.py", line 29, in <module>
    from matplotlib.backends._backend_gdk import pixbuf_get_pixels_array
ImportError: No module named _backend_gdk

У меня установлен python 2.7 и pygtk 2.24.

Может ли кто-нибудь выяснить, где находится ошибка? Я думаю, что это может быть связано с некоторыми проблемами связи?

4b9b3361

Ответ 1

Обратите внимание: пакет Debian/Ubuntu, который вам нужен, не "pygtk2-devel", а "python-gtk2-dev":

sudo apt-get install python-gtk2-dev

должна исправлять эту ошибку на этих платформах.

Ответ 2

Это был признак использования только что установленного matplotlib, а не apt-установленного matplotlib в моей системе. Если на Ubuntu/Debian, попробуйте:

pip uninstall matplotlib
apt install python-matplotlib

Я верю, что произошло то, что pip-install не создала расширение C, необходимое для вывода GTK, но в apt-пакете есть предварительно построенный расширение. У меня нет журналов с начальной установки matplotlib, поэтому я не могу подтвердить, что это произошло.