Je suis nouveau dans l'intégration de python. J'essaie d'intégrer du code python + numpy dans une fonction de rappel C++ (à l'intérieur d'une DLL)Incorporation de code python + numpy dans un rappel dll C++
Le problème auquel je suis confronté est le suivant. si j'ai:
Py_Initialize();
// some python glue
// python invocation
Py_Finalize();
tout fonctionne bien.
mais si j'ai:
Py_Initialize();
_import_array(); //to initialize numpy C-API
// some python glue + numpy array object creation
// python invocation via PyObject_CallObject()
Py_Finalize();
cette plante à la deuxième fois qu'il atteint _import_array(); Si je fais plutôt l'initialisation python et numpy juste une fois et la finalisation dans le destructeur (donc pas à chaque fois initialisation/finalisation), tout se bloque quand on laisse le rappel.
le problème ici, je suppose est numpy, mais je ne sais pas comment résoudre
Si vous pouvez parfaitement contrôler la façon dont la DLL est construit, je serais peronally laisser les détails à distutils et rasade. Voici un exemple de projet (interfaçage avec numpy): https://github.com/martinxyz/python/tree/master/realistic – maxy