2008-11-12 2 views
4

Когда моя программа 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 найти все, что нужно.

ответ

8

Нет, это не сработает. Связывание Wx (как и большинство других «привязок python») фактически скомпилировано против CPython.

В этом отношении они не являются пакетами на sys.path, которые можно найти, как вы пробовали. Они фактически зависят от самого CPython. This rather dry document explains the process.

Примечание: Был миссии некоторые из экипажа на распознавателя систем, чтобы позволить вам использовать CPython привязок с IronPython (названный IronClad), но это на ранних стадиях, и я думаю, что они будут сосредоточены на том, чтобы такие вещи, как Сначала работающий на карманных компьютерах, инструментарий GUI всегда будет последним и самым сложным.

+0

Спасибо. У меня было ощущение, что это будет ответ. –

+0

Я думаю, что если вы хотите получить межплатформенный интерфейс с IronPython, вы ограничены 1. Windows Forms, 2. GTK # –

+0

(также) 3. wx.NET –

5

Хотя wxPython недоступен по причинам, указанным @Ali, вы можете взглянуть на wx.NET. Вы можете использовать IronPython для вызова этих сборок вместо этого, и он должен быть кросс-платформенным (я предполагаю, что это то, что вам нужно, или вы просто используете WinForms). Если все, что вы ищете, совместимо с API, я думаю, вам не повезло :(

+1

+1 не знал о wx.NET –

Смежные вопросы