Невозможно импортировать FigureCanvasWxAgg из Matplotlib в Python - PullRequest
0 голосов
/ 13 мая 2011

Я использую Python x64 со всем установленным, но я получаю неразрешенный импорт в FigureCanvasWxAgg.Я могу получить до matplotlib.backends.backend_wxagg, но нет FigureCanvasWxAgg для импорта оттуда.

Я также пробовал from matplotlib.backends.backend_wxagg import *, но это тоже не работает.

РЕДАКТИРОВАТЬ: Проблема решена.Я заглянул в свой файл backend_wxagg.py и обнаружил, что он полностью отличается от того, который указан здесь .Поэтому я скопировал это из версии 0.99.1.1 в мой файл 1.0.1.(Вероятно, мне следует просто удалить 1.0.1 matplotlib и использовать более старую версию.) В любом случае, примеры работают, поэтому я счастлив.

1 Ответ

2 голосов
/ 13 мая 2011

Какая у вас ОС и как вы установили matplotlib?

Ваше решение вполне может сломать вещи ... Вам нужно собрать и установить бэкэнд wx, как обычно.Я не уверен насчет бэкэнда wx, но некоторые другие бэкэнды являются расширениями C, а не просто файлом python.

Бэкэнд wx не построен по умолчанию, поэтому он обычно включается как отдельныйпакет.(например, python-matplotlib-wx в случае Suse) Вам необходимо установить бэкэнд wx через менеджер пакетов, как обычно.

Если вы работаете в операционной системе без менеджера пакетов (например, windows, osx), установщик может иметь или не иметь встроенный бэкэнд wx в зависимости от того, кто его создал и как он был настроен.Я абсолютно ничего не знаю о ОС Linux или BSD, так что вы там одни.Попробуйте посмотреть, откуда вы скачали свой бинарный файл matplotlib, и посмотрите, есть ли у них отдельный установщик для бэкэнда wx.

Если вы собираете из исходного кода, вам нужно включить бэкэнд wx и перестроить.Для этого отредактируйте файл site.cfg в вашей директории сборки.Возможно, вам придется переименовать файл по умолчанию (site.cfg.default или что-то в том же духе) в site.cfg, если вы не читаете файл site.cfg в вашей директории сборки.

Надеюсь, это поможет!

...