在Pathon的%PATH%中指定的文件夹中找不到DLL

时间:2017-04-24 21:39:23

标签: python dll

我使用pybind11编写了一个动态链接到hdf5库的Python模块。当我将hdf5 dll复制到输出目录时,我可以加载我的python模块。如果没有,python会抱怨一些无法找到的指定过程。但是,如果我通过echo %PATH%调用dll,那么dll的路径位于with open('filename', mode='rb') as infile: data = infile.read() 变量中。

为什么我还需要复制dll?

1 个答案:

答案 0 :(得分:1)

因为eryksun在他的评论中提出问题是Anaconda在加载Python时修改PATH环境。由于Anaconda不使用最新的hdf5,因此这些库与我构建的库不兼容。

我卸载了HDF5,只使用Anaconda提供的库。这有效,但并不完美。一旦Anaconda libs没有使用Debug符号进行编译,这可能不方便,而且Anaconda还附带了旧版本的HDF5,所以在我不使用Anaconda的其他平台上进行开发时我必须小心,不要使用更新的HDF5功能