2011-08-16 13 views
3

"Rblas.dll"に依存する共有ライブラリファイル "R.dll"を読み込もうとしていますが、どちらも同じディレクトリにあります。 私はctypesのとR.dll(共有ライブラリをロードするのpythonモジュール)ウィンドウ上のctypes:依存するDLLが見つかりません

import ctypes 
lib = ctypes.CDLL("/path_to_r/bin/i386/R.dll") 

をロードすると、私は「Rblas.dllが」見つからないというエラーメッセージが表示されます。

どうすればよいですか?私は両方のlibsを同じディレクトリに置くだけで十分だと思った。

答えて

4

dllが配置されているパスを%PATH%環境変数に追加する必要があります。 R.DLLは明示的なパスでロードしていますが、RBLAS.DLLの検索はまだその場所の%PATH%を検索しています。これはWindowsレベルの操作なので、Pythonから傍受して変更する(簡単な)方法はありません...%PATH%を変更する必要があります。

代替として、希望するディレクトリに一時的にos.chdirを追加し、dllをロードし、dllがロードされた後に元の値os.getcwdを復元することができます。

関連する問題