2013-01-03 65 views
1

我最近在Windows XP上使用Python 2.7.2安装了HDF5 1.8.9和PyTables 2.4.0,下面是从PyPI(当可用时)或http://www.lfd.uci.edu/~gohlke/pythonlibs/(当不是)时安装的二进制文件PyTables/HDF5 KERNEL32.dll错误

  • numpy的1.6.1 superpack
  • numexpr 1.4.2
  • 用Cython 0.17.3
  • SciPy的0.10.0rc1 superpack
  • 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版本的二进制文件应该适用于XP。此外,PyTables的所有依赖项都没有问题导入,因此问题出现在HDF5库中。我如何解决这个问题,而无需从源代码构建HDF5库?

回答

1

答案在你的问题。 InitOnceExecuteOnce在Windows XP中不存在,因此说明它在HDF5版本中运行的文档必须是错误的。您需要使用旧版本的HDF5,或者如您已经想到的那样,在XP上从源代码重建HDF5。

+0

我联系了HDF小组,你绝对正确。但是,他们非常友好,可以为我提供旧版本。 – JaminSore

+0

不错,很高兴为你工作。 :)你会链接到它在这里帮助人们在未来使用谷歌? –

+2

ftp://ftp.hdfgroup.uiuc.edu/pub/outgoing/help/ – JaminSore