Можно ли использовать wxPython внутри IronPython?
-
08-07-2019 - |
Вопрос
Когда моя программа 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 найдет все, что ему нужно. Р>
Решение
Нет, это не сработает. Привязки Wx (как и большинство других «привязок Python») фактически скомпилированы с использованием CPython.
В этом отношении, как вы уже пробовали, это не просто пакеты на sys.path. На самом деле они зависят от самого CPython. Этот довольно сухой документ объясняет процесс.
Примечание. Некоторые члены команды Resolver Systems выполняли задание, позволяющее вам использовать привязки CPython с IronPython ( IronClad ), но это на ранних стадиях, и я думаю, что они сконцентрируются на том, чтобы сначала работали такие вещи, как Numpy, наборы инструментов GUI всегда будут последними и самыми сложными.
Другие советы
Хотя wxPython недоступен по причинам, указанным @Ali, вы можете взглянуть на wx.NET а>. Вместо этого вы могли бы использовать IronPython для вызова этих сборок, и он должен быть кроссплатформенным (я полагаю, это то, что вам нужно, или вы просто используете WinForms). Если вам нужна только совместимость с API, думаю, вам не повезло: (