Sono nuovo di Python Embedding. Sto cercando di incorporare il codice python + numpy all'interno di una funzione di callback C++ (all'interno di una DLL)Incorporamento del codice python + numpy nella callback della DLL C++
il problema che sto affrontando è il seguente. se ho:
Py_Initialize();
// some python glue
// python invocation
Py_Finalize();
tutto funziona correttamente.
ma se devo:
Py_Initialize();
_import_array(); //to initialize numpy C-API
// some python glue + numpy array object creation
// python invocation via PyObject_CallObject()
Py_Finalize();
questo blocca la seconda volta raggiunge _import_array(); (significa che funziona per la prima richiamata)
se invece eseguo l'inizializzazione python e numpy una sola volta e la finalizzazione nel distruttore (quindi non ogni volta che si inizializza/finalizza), tutto si blocca quando si esce dalla richiamata ..
il problema qui credo sia NumPy, ma non so come risolverlo
Se è possibile controllare appieno come la DLL viene costruito, vorrei peronally lasciare i dettagli a distutils e sorso. Ecco un esempio di progetto (interfacciato con numpy): https://github.com/martinxyz/python/tree/master/realistic – maxy