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/hdf 5 на 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 работал отлично, прежде чем я пошел на установку вышеупомянутых пакетов /tarballs, и я не помню, чтобы касался всего, что даже отдаленно выглядело как hdf5. Любые идеи?

EDIT: Попытка найти файл показывает его только в том месте, где я его разворачивал:

[email protected]:~/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

Ответ 1

взгляните: 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

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

$ sudo pip install h5py
Installing collected packages: h5py
Successfully installed h5py-2.6.0

Ответ 2

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

apt install libhdf5-dev

то

pip install h5py