python-Windows上的ctypes:未找到依赖的dll

我尝试加载依赖于“ Rblas.dll”的共享库“ R.dll”,两者都位于同一目录中.当我使用ctypes(加载共享库的python模块)加载R.dll时import ctypeslib = ctypes.CDLL(/path_to_r/bin/i386/R.dll)我收到一条错误消息,提...

我尝试加载依赖于“ Rblas.dll”的共享库“ R.dll”,两者都位于同一目录中.
当我使用ctypes(加载共享库的python模块)加载R.dll时

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

我收到一条错误消息,提示未找到“ Rblas.dll”.

我能做什么 ?我认为将两个库放在同一个目录中就足够了.

解决方法:

您可能需要将dll所在的路径添加到%PATH%环境变量中.当R.DLL使用显式路径加载时,搜索所请求的RBLAS.DLL仍在%PATH%中搜索其位置.由于这是Windows级别的操作,因此没有(简便)的方法可以从python进行拦截和修改…因此需要更改%PATH%.

但是,您也可以暂时将os.chdir暂存到所需目录,然后加载dll,并在加载dll之后恢复os.getcwd的原始值.

本文标题为:python-Windows上的ctypes:未找到依赖的dll

基础教程推荐