私はPython埋め込みの初心者です。私はPython+numpyコードをC++コールバック関数内(dll内)に埋め込もうとしています
私が直面している問題は次のとおりです。私が持っている場合:
Py_Initialize();
// some python glue
// python invocation
Py_Finalize();
すべてが正常に動作します。
しかし、私が持っている場合:
Py_Initialize();
_import_array(); //to initialize numpy C-API
// some python glue + numpy array object creation
// python invocation via PyObject_CallObject()
Py_Finalize();
これは、2回目に_import_array()に到達したときにクラッシュします。(最初のコールバックで機能することを意味します)
代わりに、pythonとnumpyの初期化を1回だけ実行し、デストラクタでファイナライズを実行すると(したがって、初期化/ファイナライズのたびにではありません)、コールバックを終了するときにすべてがクラッシュします。
ここでの問題は厄介だと思いますが、解決方法がわかりません