1

我最近使用 Python 2.7.2 在 Windows XP 上安装了 HDF5 1.8.9 和 PyTables 2.4.0,并从 PyPI(如果可用)或http://www.lfd.uci.edu/~gohlke/pythonlibs的二进制文件中安装了以下内容/(没有时)

  • Numpy 1.6.1 超级包
  • 数字表达式 1.4.2
  • 赛通 0.17.3
  • scipy 0.10.0rc1 超级包
  • matplotlib 1.1.1

当我导入表时,模块会导入,但会产生以下错误

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

MSDN.com 称此功能仅适用于 Windows Vista 及更高版本。我知道最新的 HDF5 二进制文件 (2.8.10) 是在 Windows 7 中构建的,根据 hdfgroup.org,让它们在 Windows XP 中工作需要从源代码构建它们,但 2.8.9 版本的二进制文件应该适用于经验值。此外,所有 PyTables 的依赖项都可以毫无问题地导入,因此问题似乎出在 HDF5 库上。如何在不从源代码构建 HDF5 库的情况下解决此问题?

4

1 回答 1

1

答案就在你的问题中。InitOnceExecuteOnce在 Windows XP 中不存在,因此说明它适用于您的 HDF5 版本的文档一定是错误的。您将需要使用旧版本的 HDF5,或者,正如您已经想到的,在 XP 上从源代码重建 HDF5。

于 2013-01-03T21:02:25.277 回答