可以在IronPython中使用wxPython吗?
当我的IronPython程序运行到这一行时:
import wx
我收到了这个消息:
A first chance exception of type
'IronPython.Runtime.Exceptions.PythonImportErrorException' occurred in IronPython.dll
Additional information: No module named _core_
虽然我确实有文件wx\_core_.pyd。在尝试导入之前,我还有这些代码:
sys.path.append('c:\\Python24\\Lib\\site-packages')
sys.path.append('c:\\Python24\\Lib\\site-packages\\wx-2.6-msw-unicode')
sys.path.append('c:\\Python24\\Lib\\site-packages\\wx-2.6-msw-unicode\\wx')
sys.path.append('c:\\Python24\\Lib\\site-packages\\wx-2.6-msw-unicode\\wx\\lib')
sys.path.append('c:\\Python24\\Lib\\site-packages\\wx-2.6-msw-unicode\\wxpython\\lib')
sys.path.append('c:\\Python24\\Lib\\site-packages\\wxaddons')
我希望这些代码能让IronPython找到它需要的所有东西。
2 个回答
5
由于@Ali提到的原因,wxPython目前无法使用,不过你可以看看wx.NET。你可以用IronPython来调用这些组件,而且它应该是跨平台的(我猜这正是你想要的,不然你就直接用WinForms了)。如果你只是想要API兼容性,那我觉得你可能没什么希望了 :(
8
不,这样做是行不通的。Wx绑定(就像大多数其他“python绑定”一样)实际上是针对CPython编译的。
从这个角度来看,它们不仅仅是可以在sys.path中找到的包,就像你尝试的那样。它们实际上依赖于CPython本身。这份比较枯燥的文档解释了这个过程。
注意:Resolver Systems的一些团队曾经有一个计划,想让你能在IronPython中使用CPython绑定(叫做IronClad),但这个项目还处于早期阶段,我想他们会先集中精力让像Numpy这样的库能正常工作,GUI工具包总是最后一个,也是最难的。