简体   繁体   English

PyTables / HDF5 KERNEL32.dll错误

[英]PyTables/HDF5 KERNEL32.dll error

I have recently installed HDF5 1.8.9 and PyTables 2.4.0 on Windows XP using Python 2.7.2 with the following installed from binaries from PyPI (when available) or http://www.lfd.uci.edu/~gohlke/pythonlibs/ (when not) 我最近在Windows XP上使用Python 2.7.2安装了HDF5 1.8.9和PyTables 2.4.0,并从PyPI(如果可用)或http://www.lfd.uci.edu/~gohlke/pythonlibs的二进制文件中安装了以下文件/ (如果没有)

  • Numpy 1.6.1 superpack Numpy 1.6.1超级包装
  • numexpr 1.4.2 numexpr 1.4.2
  • Cython 0.17.3 赛昂0.17.3
  • scipy 0.10.0rc1 superpack scipy 0.10.0rc1超级包装
  • matplotlib 1.1.1 matplotlib 1.1.1

When I import tables, the module imports, but produces the following error 当我导入表时,模块会导入,但是会产生以下错误

"The procedure Entry point InitOnceExecuteOnce could not be located in the dynamic link library KERNEL32.dll."

MSDN.com says that this function is only available on Windows Vista and later. MSDN.com说,此功能仅在Windows Vista和更高版本上可用。 I know the latest HDF5 binaries (2.8.10) were built in Windows 7, and according to hdfgroup.org, getting them to work in Windows XP requires building them from source, but the binaries for version 2.8.9 are supposed to work for XP. 我知道最新的HDF5二进制文件(2.8.10)是在Windows 7中构建的,根据hdfgroup.org的说法,要使它们在Windows XP中工作需要从源代码构建它们,但是2.8.9版的二进制文件应该适用于XP。 Also, all of PyTables' dependencies import without issue so it appears that the issue is with the HDF5 libraries. 而且,所有PyTables的依赖项都可以顺利导入,因此看来问题出在HDF5库上。 How do I fix this without building the HDF5 libraries from source? 如何在不从源代码构建HDF5库的情况下解决此问题?

The answer is in your question. 答案就在您的问题上。 InitOnceExecuteOnce doesn't exist in Windows XP, so the documentation stating it works in your HDF5 version must be wrong. InitOnceExecuteOnce在Windows XP中不存在,因此说明它可以在您的HDF5版本中使用的文档一定是错误的。 You will need to use older versions of HDF5, or, as you already figured out, rebuild HDF5 from source on XP. 您将需要使用旧版本的HDF5,或者,您已经知道要从XP上的源代码重建HDF5。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM