2013-01-03 59 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