使用wxPython 3.0.3我无法导入PyDeadObjectError。 我相信当我安装3.0时,这不是问题。 我收到“无法导入名称”错误。
BsMBP:tests bem$ python
Python 2.7.10 (default, Oct 23 2015, 18:05:06)
[GCC 4.2.1 Compatible Apple LLVM 7.0.0 (clang-700.0.59.5)] on darwin
>>> import wx
>>> wx.version()
'3.0.3.dev1836+f764b32 osx-cocoa (phoenix)'
>>>
>>> import PyDeadObjectError
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: No module named PyDeadObjectError
>>>
>>> from wx._core import PyDeadObjectError
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: cannot import name PyDeadObjectError
>>>
>>> exit()
如何解决此错误?
答案 0 :(得分:2)
正如迁移指南(http://wxpython.org/Phoenix/docs/html/MigrationGuide.html#wx-pydeadobjecterror-runtimeerror)中所提到的,不再需要生成该异常的丑陋黑客,因此异常类已被删除。现在,如果您尝试访问已删除的C ++对象的代理对象,则会引发RuntimeError
。或者您可以在if
语句中测试该窗口,如果您希望它已被删除并且完全避免获得异常。