Ошибка импорта wxPython

У меня возникли проблемы с выяснением сообщения об ошибке в Python.

вчера я установил python, используя последний пакет EPD, и wxPython2.9, используя пакет wxPython2.9-osx-cocoa-py2.7 для Mac OS. Затем я добавил wx к своему PYTHONPATH.

export WXDIR=/usr/local/lib/wxPython-2.9.1.1/lib/python2.7/site-packages/wx-2.9.1-osx_cocoa export PYTHONPATH=$WXDIR export PYTHONPATH=$PYTHONPATH:$WXDIR/tools 

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

 In [14]: import matplotlib.pyplot --------------------------------------------------------------------------- ImportError Traceback (most recent call last) /Users/imrisofer/Documents/third/hddm-read-only/hddm/<ipython console> in <module>() /Library/Frameworks/EPD64.framework/Versions/7.0/lib/python2.7/site-packages/matplotlib/pyplot.py in <module>() 93 94 from matplotlib.backends import pylab_setup ---> 95 new_figure_manager, draw_if_interactive, show = pylab_setup() 96 97 @docstring.copy_dedent(Artist.findobj) /Library/Frameworks/EPD64.framework/Versions/7.0/lib/python2.7/site-packages/matplotlib/backends/__init__.py in pylab_setup() 23 backend_name = 'matplotlib.backends.%s'%backend_name.lower() 24 backend_mod = __import__(backend_name, ---> 25 globals(),locals(),[backend_name]) 26 27 # Things we pull in from all backends /Library/Frameworks/EPD64.framework/Versions/7.0/lib/python2.7/site-packages/matplotlib/backends/backend_wxagg.py in <module>() 21 22 from backend_agg import FigureCanvasAgg ---> 23 import backend_wx # already uses wxversion.ensureMinimal('2.8') 24 from backend_wx import FigureManager, FigureManagerWx, FigureCanvasWx, \ 25 FigureFrameWx, DEBUG_MSG, NavigationToolbar2Wx, error_msg_wx, \ /Library/Frameworks/EPD64.framework/Versions/7.0/lib/python2.7/site-packages/matplotlib/backends/backend_wx.py in <module>() 43 import wxversion 44 except ImportError: ---> 45 raise ImportError(missingwx) 46 47 # Some early versions of wxversion lack AlreadyImportedError. ImportError: Matplotlib backend_wx and backend_wxagg require wxPython >=2.8 

Я могу успешно импортировать wx, поэтому я не знаю, в чем проблема. Я что-то пропустил в PYTHONPATH?

10 Solutions collect form web for “Ошибка импорта wxPython”

В Ubuntu 12.04 эту проблему можно решить, выполнив команду

 sudo apt-get install libjpeg62 

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

Я использую Ubuntu 13.10, Canopy 1.2 и PyCharm 3.0.2. При попытке использовать matlablib он всегда жалуется: «Matplotlib backend_wx и backend_wxagg требуют wxPython> = 2.8». Довольно уверен, что я использую wxPython 2.8. Затем я попробовал все методы, описанные на этой странице, но ни один из них не работает для меня.

Оказывается, его можно решить, изменив файл matplotlibrc. Есть строка:

Бэкэнд: WXAgg

На самом деле мы можем изменить бэкэнд на все, что захотим, и я перейду на TKAgg, который отлично подходит для меня.

Это случилось со мной при установке Windows x64, которая не установила wxversion.py в каталог сайтов-пакетов (c: \ Python27 \ Lib \ site-packages по умолчанию).

Вы можете получить копию wxversion.py из репозитория WX svn: http://svn.wxwidgets.org/viewvc/wx/wxPython/trunk/wxversion/wxversion.py?content-type=text%2Fplain&view=co

Выберите версию wx перед импортом любых модулей wx

import wxversion
wxversion.select('2.8')

Вышеприведенный код должен появиться перед import wx

эта ссылка помогла мне https://support.enthought.com/entries/22601196-wxPython-2-8-and-2-9

Вот как я исправил проблему, которая, надеюсь, будет полезна для других в будущем

  1. В терминале: gedit Enthought / Canopy_64bit / Пользователь / lib / python2.7 / site-packages / matplotlib / mpl-data / matplotlibrc

  2. Отредактируйте строку «backend: WXAgg» в «backend: QtAgg»

  3. Сохранить и выйти

Я просто наткнулся на это сам. Одной из потенциальных причин этого (совершенно бесполезного) сообщения об ошибке является установка wx в качестве установки с одной версией ( INSTALL_MULTIVERSION=0 при запуске setup.py ). В этом случае модуль wxversion не wxversion (или не устанавливается), и поскольку такой matplotlib неправильно предполагает, что все wx отсутствуют.

В настоящее время это настройка по умолчанию в установках по версии wxmac wxWidgets ( wxmac ) с опцией --python .

В вашем случае (хотя и через полтора года) вам необходимо убедиться, что wxversion.py существует в /usr/local/lib/wxPython-2.9.1.1/lib/python2.7/site-packages/ . Если это не так, вам нужно перекомпилировать wx с указанным выше флагом. В противном случае вам просто нужно установить $PYTHONPATH таким образом, чтобы он включал также каталог базовых сайтов:

 export WXDIR=/usr/local/lib/wxPython-2.9.1.1/lib/python2.7/site-packages export PYTHONPATH=$WXDIR:$WXDIR/wx-2.9.1-osx_cocoa:$WXDIR/wx-2.9.1-osx_cocoa/tools 

Я решил с этим:

 defaults write com.apple.versioner.python Prefer-32-Bit -bool yes 

Я решил это, установив backend на MacOSX в ~ / .matplotlib / matplotlibrc:

Бэкэнд: MacOSX

Я решил это на Windows, посмотрев в папке пакетов сайтов в библиотеке python. Там должна быть другая папка под названием site-packages. В этой подпапке есть библиотека wxversion. Если вы скопируете эту библиотеку в папку Lib в python, эту ошибку импорта следует предотвратить.

 sudo apt-get install python-wxtools 

Установите его. Работал для меня.

  • Почему мой wx.App вмешивается в мои графики matplotlib?
  • Wxpython просматривает или перетаскивает папку
  • Не удалось уничтожить wx.Dialog в wxpython
  • wxPython не будет закрывать Frame с родителем, который является дескриптором окна
  • wxPython: проблема с макетом wx.PyControl, когда она является дочерним элементом wx.Panel
  • wxPython - StyledTextCtrl получает видимые строки в настоящее время
  • Нарушение видео в фреймах с помощью python
  • Возможно ли событие wxpython progressdialog?
  • Python - лучший язык программирования в мире.