使用Eclipse Kepler Service Release 2运行Ubuntu 14.04,它具有Pydev 4.4.0.2 ...和Pydev Mylyn Integration 0.6.0。我的程序运行没有问题。将它移植到运行Ubuntu 16.04的新平台上,使用Eclipse Oxygen 1A版本4.7.1A和Pydev 6.0.0 ...与Pydev Integration在0.6.0并获得以下错误:
from wxPython._gdi import wxBitmapFromImage
ImportError: No module named wxPython._gdi
我可以在Eclipse(控制台)或新的ubuntu版本的终端shell上导入wx,但在键入第1行时会出现第2行错误。我的14.04正在运行wxpython 2.8,而我的新16.04正在运行3.0,但不确定是不是这样。
答案 0 :(得分:0)
wxPython
命名空间非常非常古老。十多年来一直如此。如果我没记错的话,它在2.7中已被弃用,并且仅作为2.8中的瘦兼容性垫片提供,目的是所有应该迁移到新的wx
命名空间。兼容性垫片在2.9中删除。
更改的要点是位于wxFrame
命名空间中的wxPython
或其子模块之类的名称已更改为Frame
命名空间中的wx
之类的名称。换句话说,它应该像这样使用:wx.Frame
。
答案 1 :(得分:0)
除了遇到_gdi.Colour
类实例外,我遇到了同样的问题。遵循Unpickling python objects with a changed module path的建议,我被保存为:
import wx as _wx
from wx import _core
sys.modules['wx._gdi'] = _core
这当然是黑客,您可以尝试尝试(除非经过测试),否则效果更好
try:
from wxPython._gdi import wxBitmapFromImage
except ImportError:
from wx import BitmapFromImage as wxBitmapFromImage