我使用pybind11编写了一个Python模块,该模块可以动态链接到hdf5库。当我将hdf5 dll复制到输出目录时,我可以加载我的python模块。如果没有,python会抱怨某些指定的过程无法找到。但是,如果我通过%PATH%调用dll,到dll的路径就在echo %PATH%变量中。
为什么我还需要复制dlls?
发布于 2017-04-25 10:56:15
因此,正如eryksun在他的评论中指出的那样,问题在于Anaconda在加载Python时修改了PATH环境。由于Anaconda不使用最新的hdf5,所以这些库与我构建的库不兼容。
我卸载了HDF5,只使用了Anaconda提供的库。这是可行的,但并不完美。有一次,Anaconda库没有使用Debug符号进行编译,这可能会很不方便,而且Anaconda还附带了较早版本的HDF5,所以在其他不使用Anaconda不使用更新的HDF5功能的平台上开发时,我必须小心。
https://stackoverflow.com/questions/43598150
复制相似问题