可以在IronPython中使用wxPython吗?

4 投票
2 回答
2332 浏览
提问于 2025-04-11 18:13

当我的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工具包总是最后一个,也是最难的。

撰写回答