hdf5/h5py ImportError: libhdf5.so.7

Я работаю над проектом, связанным с очередями обмена сетевыми сообщениями (msgpack, zmq,...) в системе RHEL 6.3 (x86_64). Я устанавливал самые последние пакеты glib, gevent, pygobject, pygtk и т. д., чтобы заставить работать pylab/matplotlib (что также не увенчалось успехом).

Сдавшись, я вернулся к своему коду и каким-то образом мне удалось испортить мою установку hdf5/h5py - h5py не может найти libhdf5.so.7 при импорте. Я немедленно переустановил hdf5-1.8.9 в /usr/local/hdf5 на RHEL 6.3 (x86_64) следующим образом:

./configure --prefix=/usr/local/hdf5
make
make check
sudo make install
make check install

который, казалось, работал просто отлично. Затем я переустановил h5py (в python 2.7.3):

python2.7 setup.py build --hdf5=/usr/local/hdf5/
python2.7 setup.py test   # optional
# sudo python2.7 setup.py install

который не может импортировать файл _errors в тестах, например:

======================================================================
ERROR: _hl.tests.test_attrs_data (unittest.loader.ModuleImportFailure)
----------------------------------------------------------------------
ImportError: Failed to import test module: _hl.tests.test_attrs_data
Traceback (most recent call last):
  File "/usr/local/lib/python2.7/unittest/loader.py", line 252, in _find_tests
    module = self._get_module_from_name(name)
  File "/usr/local/lib/python2.7/unittest/loader.py", line 230, in _get_module_from_name
    __import__(name)
  File "/home/cronburg/Downloads/h5py-2.0.1/build/lib.linux-x86_64-2.7/h5py/_hl/tests/test_attrs_data.py", line 5, in <module>
    import h5py
  File "/home/cronburg/Downloads/h5py-2.0.1/build/lib.linux-x86_64-2.7/h5py/__init__.py", line 1, in <module>
    from h5py import _errors
ImportError: libhdf5.so.7: cannot open shared object file: No such file or directory


----------------------------------------------------------------------
Ran 12 tests in 0.001s

FAILED (errors=12)

h5py работал нормально до того, как я начал устанавливать вышеупомянутые пакеты / архивы, и я не помню, чтобы касался чего-либо, что хотя бы отдаленно напоминало hdf5. Любые идеи?

РЕДАКТИРОВАТЬ: Попытка найти файл показывает его только в том месте, где я его распаковал:

cronburg@rhel:~/Downloads/h5py-2.0.1$ locate libhdf5.so.7
/home/cronburg/tmp/hdf5-1.8.9/hdf5/lib/libhdf5.so.7
/home/cronburg/tmp/hdf5-1.8.9/hdf5/lib/libhdf5.so.7.0.3
/home/cronburg/tmp/hdf5-1.8.9/src/.libs/libhdf5.so.7
/home/cronburg/tmp/hdf5-1.8.9/src/.libs/libhdf5.so.7.0.3

person cronburg    schedule 20.07.2012    source источник
comment
Добавил /usr/local/hdf5/lib/ в мой LD_LIBRARY_PATH, и теперь h5py работает (нашел там .so).   -  person cronburg    schedule 20.07.2012


Ответы (2)


взгляните на: http://rpm.pbone.net/index.php3/stat/3/srodzaj/1/search/libhdf5.so.7()(64bit)

Или попробуйте этот репозиторий: https://ius.io/Packages/

Я предпочитаю всегда использовать самую последнюю версию Python в формате пакета.

https://dl.iuscommunity.org/pub/ius/stable/Redhat/6/x86_64/repoview/python27.html

sudo yum install -y https://centos6.iuscommunity.org/ius-release.rpm
sudo yum install -y python27
sudo yum install -y python27-devel

Сделайте pip install и будьте счастливы:

$ sudo pip install h5py
Installing collected packages: h5py
Successfully installed h5py-2.6.0
person sharkguto    schedule 11.01.2017
comment
КарлС посмотри - person sharkguto; 11.01.2017
comment
Бесполезно в моей ситуации, так как по какой-то причине мне нужно было вручную установить hdf5 (этому вопросу 4 года, я не могу точно вспомнить, почему - вероятно, в то время нужна была версия не в pip). Вопрос скорее в том, что я создаю этот пакет, поэтому почему я не получаю эту ошибку. Пожалуйста, научите меня, как использовать pip и менеджер пакетов RHEL. - person cronburg; 12.01.2017

Это также случилось со мной при использовании h5py на чистом raspbian. Сначала необходимо установить системные библиотеки.

apt install libhdf5-dev

потом

pip install h5py
person luismesas    schedule 24.02.2018
comment
Для Ubuntu с текущей поддерживаемой версией h5py — да. Однако мой вопрос касался rhel с версией h5py, не поддерживаемой репозиториями. - person cronburg; 26.02.2018
comment
Вы правильно заметили, поэтому я ссылался на raspbian, как это случилось со мной в день ответа. Спасибо - person luismesas; 27.02.2018