python wxpython backend wxagg_wxPython import error

可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试):

问题:

I'm having trouble figuring out an error message in Python.

yesterday, I've installed python using the latest EPD package, and wxPython2.9 using the wxPython2.9-osx-cocoa-py2.7 package for Mac OS. I then added wx to my 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

but when I try to run stuff I get this error: In [14]: import matplotlib.pyplot --------------------------------------------------------------------------- ImportError Traceback (most recent call last) /Users/imrisofer/Documents/third/hddm-read-only/hddm/ in () /Library/Frameworks/EPD64.framework/Versions/7.0/lib/python2.7/site-packages/matplotlib/pyplot.py in () 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 () 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 () 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

I can successfully import wx, so I don't no what's the problem. Am I missing anything in the PYTHONPATH?

回答1:

In Ubuntu 12.04, this problem can be solved by running the command sudo apt-get install libjpeg62

I realize this may not be useful here, but I wanted to document it somewhere on teh interwebz so I can find it when I run into this problem again myself which will undoubtedly happen.

回答2:

I'm using Ubuntu 13.10, Canopy 1.2, and PyCharm 3.0.2. When trying to use matlablib, it always complains "Matplotlib backend_wx and backend_wxagg require wxPython >=2.8".Pretty sure that I'm using wxPython 2.8. Then I tried all the methods described in this page, but neither of them works for me.

It turns out that it can be solved by modifying matplotlibrc file. There is a line: backend : WXAgg

In fact we can change the backend to whatever we like, and I change it to TKAgg, which works just fine for me.

回答3:

Select your wx version before importing any wx modules

import wxversion

wxversion.select('2.8')

The above code should come before import wx

回答4:

This happened to me on a Windows x64 installation that did not install wxversion.py in the site-packages directory (c:\Python27\Lib\site-packages by default).

回答5:

Here's how I fixed the problem, which I hope will be useful for others in future In Terminal: gedit Enthought/Canopy_64bit/User/lib/python2.7/site-packages/matplotlib/mpl-data/matplotlibrc

Edit the line "backend : WXAgg" into "backend : QtAgg"

Save and exit

回答6:

I just ran into this myself. One potential cause of this (quite unhelpful) error message is if you installed wx as a single-version installation (INSTALL_MULTIVERSION=0 when running setup.py). In this case, the module wxversion does not get built (or installed) and as such matplotlib incorrectly assumes that all of wx is missing.

This currently is the default setting in installations by the homebrew version of wxWidgets (wxmac) with the option --python.

In your case (albeit a year and a half late), you'd need to ensure that wxversion.py exists within /usr/local/lib/wxPython-2.9.1.1/lib/python2.7/site-packages/. If it doesn't, you'd need to recompile wx with the above flag set. Otherwise you just need to set your $PYTHONPATH such that it includes the base site-packages directory, too: 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

回答7:

I've solved with this: defaults write com.apple.versioner.python Prefer-32-Bit -bool yes

回答8:

I solved this by setting the backend to MacOSX in ~/.matplotlib/matplotlibrc:

backend : MacOSX

回答9:

I've solved this on Windows by looking in the site packages folder in the python library. In there, there should be another folder titled site-packages. In this subfolder, there is the wxversion library. If you copy this library into the Lib folder in python, this import error should be averted.

回答10:

sudo apt-get install python-wxtools

Install it. Worked for me.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值