PythonCAPIを使用してPython2.7.2インタープリターをC++アプリケーションに埋め込みました。
ターゲットマシンでは、Pythonのインストールを保証できないため、組み込みインタープリターにアプリケーションが存在するフォルダーを調べさせようとしています。したがって、アプリケーション部門には、Python用のLib、Libs、およびDLLフォルダーがあります。
コードでは、Py_SetPythonHome()とPy_SetProgramName()を使用して、Pythonをロードし、標準ライブラリをインストールできるようにしました。
私が使用しているテストスクリプトの1つは次のとおりです。
import csv
import numpy
これで、csv行は正常です。\ libsディレクトリ内に、site-packages\numpyが表示されます。しかし、インポートはこの行でクラッシュします。私はこれにnumpy1.6.1を使用しています。
モジュールの検索パスを変更する必要があるかもしれません-これは正しいですか?これを実現して、numpyなどのサードパーティライブラリにスクリプトからアクセスできるようにするための最良の方法は何ですか?それが助けになるなら、私がnumpyディレクトリへの絶対パスを作成できると仮定することができます。
編集:詳細情報-トレースバックを生成することができました。「ImportError:DLLロードに失敗しました」というエラーで「importmultiarray」という行を試行すると、\ numpy \ core \ _init_.pyにエラーが表示されます。 :指定されたモジュールが見つかりません」。ディレクトリを確認すると、multiarray.pydが見つかりました。何かご意見は?