wxPython导入错误

时间:2011-02-25 19:14:12

标签: python wxpython importerror python-import

我在Python中找出错误消息时遇到了麻烦。

昨天,我使用最新的EPD软件包安装了python,并使用适用于Mac OS的wxPython2.9-osx-cocoa-py2.7软件包安装了wxPython2.9。 然后我把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 个答案:

答案 0 :(得分:15)

在Ubuntu 12.04中,可以通过运行命令

来解决此问题
sudo apt-get install libjpeg62

我意识到这可能在这里没有用,但是我想在tewe interwebz上的某处记录它,所以当我再次遇到这个问题时我会发现它,这无疑会发生。

答案 1 :(得分:5)

我正在使用Ubuntu 13.10,Canopy 1.2和PyCharm 3.0.2。当尝试使用matlablib时,它总是抱怨“Matplotlib backend_wx和backend_wxagg需要wxPython&gt; = 2.8”。确定我正在使用wxPython 2.8。然后我尝试了本页描述的所有方法,但它们都不适合我。

事实证明,它可以通过修改matplotlibrc文件来解决。有一条线:

  

后端:WXAgg

事实上,我们可以将后端更改为我们喜欢的任何内容,然后将其更改为TKAgg,这对我来说效果很好。

答案 2 :(得分:4)

在导入任何wx模块之前选择您的wx版本

import wxversion
wxversion.select('2.8')

上述代码应该在import wx

之前

答案 3 :(得分:4)

在我没有在site-packages目录中安装wxversion.py的Windows x64安装中发生这种情况(默认情况下为c:\ Python27 \ Lib \ site-packages)。

您可以从WX svn存储库获取wxversion.py的副本: http://svn.wxwidgets.org/viewvc/wx/wxPython/trunk/wxversion/wxversion.py?content-type=text%2Fplain&view=co

答案 4 :(得分:2)

这个链接帮助了我 https://support.enthought.com/entries/22601196-wxPython-2-8-and-2-9

以下是我如何解决问题,我希望将来对其他人有用

  1. 在终端:gedit Enthought / Canopy_64bit / User / lib / python2.7 / site-packages / matplotlib / mpl-data / matplotlibrc

  2. 编辑线&#34;后端:WXAgg&#34;进入&#34;后端:QtAgg&#34;

  3. 保存并退出

答案 5 :(得分:1)

我自己就碰到了这个。如果您将wx安装为单版本安装(运行INSTALL_MULTIVERSION=0setup.py),则会产生此(非常无用的)错误消息的一个潜在原因。在这种情况下,模块wxversion不会构建(或安装),因此matplotlib错误地假定所有wx都缺失。

目前这是homebrew版本的wxWidgets(wxmac)使用选项--python安装的默认设置。

在您的情况下(虽然迟了一年半),您需要确保wxversion.py中存在/usr/local/lib/wxPython-2.9.1.1/lib/python2.7/site-packages/。如果没有,则需要使用上面的标志集重新编译wx。否则,您只需将$PYTHONPATH设置为包含基本site-packages目录:

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

答案 6 :(得分:1)

我已经解决了这个问题:

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

答案 7 :(得分:1)

我通过在〜/ .matplotlib / matplotlibrc中将后端设置为MacOSX来解决这个问题:

后端:MacOSX

答案 8 :(得分:0)

我通过查看python库中的site packages文件夹在Windows上解决了这个问题。在那里,应该有另一个名为site-packages的文件夹。在这个子文件夹中,有一个wxversion库。如果将此库复制到python中的Lib文件夹中,则应避免此导入错误。

答案 9 :(得分:0)

sudo apt-get install python-wxtools

安装它。为我工作。

相关问题