Python 获取DLL以与依赖项通信
我试图从Python加载DLL,但找不到指定的模块。WindowsError:[Error 126]Python 获取DLL以与依赖项通信,python,dll,Python,Dll,我试图从Python加载DLL,但找不到指定的模块。WindowsError:[Error 126] import ctypes my_dll = "C:/smt/toolbox/dlls/NMSim_Libraries.dll" nmsim = ctypes.cdll.LoadLibrary(my_dll) 当我使用时,它表示缺少3个依赖项,所有这些依赖项都在路径中: “C:\Users\skeyel\AppData\Local\Continuum\Anaconda2\Lib\site pa
import ctypes
my_dll = "C:/smt/toolbox/dlls/NMSim_Libraries.dll"
nmsim = ctypes.cdll.LoadLibrary(my_dll)
当我使用时,它表示缺少3个依赖项,所有这些依赖项都在路径中:
“C:\Users\skeyel\AppData\Local\Continuum\Anaconda2\Lib\site packages\numpy\core”
我尝试使用以下方法将此路径添加到系统路径:
import sys
sys.path.append("C:\\Users\\skeyel\\AppData\\Local\\Continuum\\Anaconda2\\Lib\\site-packages\\numpy\\core\\")
但这并没有解决问题。如何使.dll与依赖项通信
注:
import platform
后跟platform.architecture()
将两个版本都设置为32位
3c。我已尝试调整sys.path
以包括两个安装之间的相同路径
3d。我已尝试os.chdir()
更改为.dll目录,然后只按名称加载dll,而不包含路径信息
3e。我已尝试将列出的缺少的依赖项复制并粘贴到与.dll相同的文件夹中Runtime error
Traceback (most recent call last):
File "<string>", line 1, in <module>
File "C:\Users\skeyel\AppData\Local\Continuum\Anaconda2\Lib\ctypes\__init__.py", line 443, in LoadLibrary
return self._dlltype(name)
File "C:\Users\skeyel\AppData\Local\Continuum\Anaconda2\Lib\ctypes\__init__.py", line 365, in __init__
self._handle = _dlopen(self._name, mode)
WindowsError: [Error 126] The specified module could not be found
运行时错误
回溯(最近一次呼叫最后一次):
文件“”,第1行,在
LoadLibrary中第443行的文件“C:\Users\skeyel\AppData\Local\Continuum\Anaconda2\Lib\ctypes\\uuuuu init\uuuu.py”
返回自我类型(名称)
文件“C:\Users\skeyel\AppData\Local\Continuum\Anaconda2\Lib\ctypes\\ uuuuu init\uuuuu.py”,第365行,在u init中__
self.\u handle=\u dlopen(self.\u名称,模式)
WindowsError:[错误126]找不到指定的模块
似乎有一件简单的事情我错过了——有人知道它是什么吗
非常感谢。重新安装Anaconda解决了问题
我仍然不知道具体的问题是什么。请注意,
sys.path.append
没有将作为参数提供的路径附加到环境变量path,而是附加到Python的模块搜索路径(PYTHONPATH)。尝试使用os.environ[“PATH”]
,或者更好的做法是,在启动解释器之前设置PATH变量。