Ошибка PyTables/HDF5 KERNEL32.dll

Я недавно установил HDF5 1.8.9 и PyTables 2.4.0 в Windows XP с использованием Python 2.7.2 со следующими установленными из двоичных файлов из PyPI (если доступно) или http://www.lfd.uci.edu/~gohlke/pythonlibs/ (если нет)

  • Суперпак Numpy 1.6.1
  • числовое выражение 1.4.2
  • Цитон 0.17.3
  • scipy 0.10.0rc1 суперпакет
  • матплотлиб 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 из исходного кода?


person JaminSore    schedule 03.01.2013    source источник


Ответы (1)


Ответ в вашем вопросе. InitOnceExecuteOnce не существует в Windows XP, поэтому документация, в которой говорится, что он работает в вашей версии HDF5, должна быть неверной. Вам нужно будет использовать более старые версии HDF5, либо, как вы уже поняли, пересобрать HDF5 из исходников на XP.

person Fredrick Brennan    schedule 03.01.2013
comment
Я связался с группой HDF, и вы абсолютно правы. Однако они были достаточно любезны, чтобы предоставить мне устаревшую версию. - person JaminSore; 05.01.2013
comment
Здорово, рад, что у вас получилось. :) Не могли бы вы дать ссылку на него здесь, чтобы помочь людям, использующим Google в будущем? - person Fredrick Brennan; 05.01.2013
comment
ftp.hdfgroup.uiuc.edu/pub/outgoing/help - person JaminSore; 05.01.2013