1

Python 2.7.3 を C++ に埋め込んで Numpy ライブラリを使用しようとしていますが、Numpy を 2 回目にインポートするときにランタイム エラーが発生します。以下は簡単なコード例です (できるだけ小さく):

#include <Python.h>

int main() {
    for(int i=0 ; i<2 ; i++) {
        Py_Initialize() ;
        PyImport_ImportModule("numpy");
        Py_Finalize() ;
    }
    return 0 ;
}

これの何が問題なのですか?

4

1 に答える 1

4

Py_Finalizeあなたが持っているドキュメンテーションドキュメントから:

一部の拡張機能は、初期化ルーチンが複数回呼び出されると正しく機能しない場合があります。これは、アプリケーションが Py_Initialize() と Py_Finalize()を複数回呼び出した場合に発生する可能性があります。

Numpy がこれらの拡張機能の 1 つであっても驚かないでしょう。

更新: そのように見えます。この質問を参照してください。

于 2012-08-17T16:02:18.247 に答える