C++ アプリケーション (32 ビット) に埋め込まれ、静的にリンクされた Python 2.7 で numpy にアクセスすると問題が発生します。アプリケーションの実行可能ファイルの下に、必要なすべての DLL を含む Python27 ディレクトリと共に python27.dll を配置しました。また、Python 2.7 と numpy (すべて 32 ビット) を別のフォルダー (C:\Python27) にインストールしました。アプリケーションを実行して numpy をインポートしようとすると、次のエラーが表示されます。
Traceback (most recent call last):
File "pytest", line 1, in <module>
File "C:\Python27\lib\site-packages\numpy\__init__.py", line 137, in <module>
import add_newdocs
File "C:\Python27\lib\site-packages\numpy\add_newdocs.py", line 9, in <module>
from numpy.lib import add_newdoc
File "C:\Python27\lib\site-packages\numpy\lib\__init__.py", line 4, in <module>
from type_check import *
File "C:\Python27\lib\site-packages\numpy\lib\type_check.py", line 8, in <module>
import numpy.core.numeric as _nx
File "C:\Python27\lib\site-packages\numpy\core\__init__.py", line 5, in <module>
import multiarray
ImportError: DLL load failed: The specified module could not be found.
アプリケーションフォルダーから python27.dll を削除すると、numpy をインポートできます。クライアントがPythonサードパーティライブラリをインポートしたいときに、python27.dllを手動で削除するようクライアントに依頼することはできません...それを修正する方法について誰かアイデアがありますか? このマルチアレイ モジュールはどうなっていますか?