4

当我的 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 找到它需要的一切。

4

2 回答 2

8

不,这行不通。Wx 绑定(与大多数其他“python 绑定”一样)实际上是针对 CPython 编译的。

在这方面,它们不仅仅是 sys.path 上的软件包,正如您所尝试的那样。它们实际上依赖于 CPython 本身。这个相当枯燥的文件解释了这个过程。

注意:Resolver Systems 的一些工作人员有一个任务是允许您将 CPython 绑定与 IronPython(称为IronClad)一起使用,但这还处于早期阶段,我认为他们将专注于让 Numpy 之类的东西首先工作,GUI工具包永远是最后的,也是最难的。

于 2008-11-12T10:27:31.530 回答
5

虽然由于@Ali 列出的原因 wxPython 不可用,但您可能需要查看wx.NET。您可以改用 IronPython 来调用这些程序集,并且它应该是跨平台的(我假设这就是您所追求的,或者您只需使用 WinForms)。如果您正在寻找的只是 API 兼容性,我认为您不走运:(

于 2008-11-12T18:12:13.120 回答