Pregunta

Cuando mi programa IronPython llega a la línea

import wx

Recibo este mensaje:

A first chance exception of type
'IronPython.Runtime.Exceptions.PythonImportErrorException' occurred in IronPython.dll

Additional information: No module named _core_

aunque tengo el archivo wx \ _core_.pyd. Además, antes de intentar la importación, tengo las líneas:

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')

que esperaba permitiría a IronPython encontrar todo lo que necesitaba.

¿Fue útil?

Solución

No, esto no funcionará. Los enlaces Wx (como la mayoría de los otros enlaces de Python) se compilan en realidad contra CPython.

En este sentido, no solo se encuentran paquetes en sys.path, como lo ha intentado. De hecho, dependen de CPython. Este documento bastante seco explica el proceso.

Nota: Hubo una misión de parte de la tripulación en Resolver Systems para permitirle usar enlaces CPython con IronPython (llamado IronClad ) pero esto está en sus primeras etapas, y creo que se concentrarán en hacer que Numpy funcione primero, los kits de herramientas GUI siempre serán los últimos y los más difíciles.

Otros consejos

Si bien wxPython no está disponible por los motivos enumerados por @Ali, puede consultar wx.NET . En su lugar, podría usar IronPython para llamar a estos ensamblajes, y debería ser multiplataforma (supongo que eso es lo que busca, o simplemente usaría WinForms). Si todo lo que estás buscando es compatibilidad con API, creo que no tienes suerte :(

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top