Domanda

Quando il mio programma IronPython arriva in linea

import wx

Ricevo questo messaggio:

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

Additional information: No module named _core_

anche se ho il file wx \ _core_.pyd. Inoltre, prima di tentare l'importazione, ho le righe:

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

che speravo avrebbe permesso a IronPython di trovare tutto ciò di cui aveva bisogno.

È stato utile?

Soluzione

No, questo non funzionerà. I collegamenti Wx (come la maggior parte degli altri "collegamenti Python") sono in realtà compilati contro CPython.

A questo proposito non si possono trovare solo pacchetti su sys.path, come hai provato. In realtà dipendono dallo stesso CPython. Questo documento piuttosto secco spiega il processo.

Nota: alcuni membri dell'equipaggio di Resolver Systems hanno avuto la missione di consentire all'utente di utilizzare i collegamenti CPython con IronPython (chiamato IronClad ) ma questo è nelle sue fasi iniziali e penso che si concentreranno sul far funzionare prima cose come Numpy, i toolkit GUI saranno sempre gli ultimi e i più difficili.

Altri suggerimenti

Mentre wxPython non è disponibile per i motivi elencati da @Ali, potresti voler dare un'occhiata a wx.NET . Invece potresti usare IronPython per chiamare questi assembly, e dovrebbe essere multipiattaforma (suppongo sia quello che stai cercando, o useresti semplicemente WinForms). Se tutto ciò che stai cercando è la compatibilità API, penso che tu sia sfortunato :(

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top