使用 wx 版本 3.0.3 导入 PyDeadObjectError
Import PyDeadObjectError with wx version 3.0.3
使用 wxPython 3.0.3 我无法导入 PyDeadObjectError。
我相信当我安装 3.0 时,这不是问题。
我收到 "cannot import name" 错误。
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()
我该如何解决这个错误?
如迁移指南中所述(位于 http://wxpython.org/Phoenix/docs/html/MigrationGuide.html#wx-pydeadobjecterror-runtimeerror)不再需要生成该异常的丑陋 hack,因此异常 class 已被删除。现在,如果您尝试访问已删除的 C++ 对象的代理对象,则会引发 RuntimeError
。或者您可以在 if
语句中测试 window 如果您预计它可能已被删除并完全避免出现异常。
使用 wxPython 3.0.3 我无法导入 PyDeadObjectError。 我相信当我安装 3.0 时,这不是问题。 我收到 "cannot import name" 错误。
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()
我该如何解决这个错误?
如迁移指南中所述(位于 http://wxpython.org/Phoenix/docs/html/MigrationGuide.html#wx-pydeadobjecterror-runtimeerror)不再需要生成该异常的丑陋 hack,因此异常 class 已被删除。现在,如果您尝试访问已删除的 C++ 对象的代理对象,则会引发 RuntimeError
。或者您可以在 if
语句中测试 window 如果您预计它可能已被删除并完全避免出现异常。