2012-07-20 85 views
10

我正在研究RHEL 6.3(x86_64)系统上涉及网络消息队列(msgpack,zmq,...)的项目。我正在安装最新的glib,gevent,pygobject,pygtk等软件包,以便让pylab/matplotlib工作(它也没有成功)。hdf5/h5py ImportError:libhdf5.so.7

放弃后,我回到了我的代码,并设法破坏我的hdf5/h5py安装 - h5py在导入时找不到libhdf5.so.7。我立即重新安装在RHEL 6.3(x86_64的)在/ usr /本地/ HDF5 hdf5-1.8.9如下:

./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的任何东西。有任何想法吗?

编辑: 试图找到该文件只显示它在我未解压它的位置:

[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 
+5

添加**在/ usr /本地/ HDF5/lib中/ **我的** ** LD_LIBRARY_PATH现在h5py作品(发现的。所以在那里)。 – KarlC 2012-07-20 17:58:35

回答

0

采取一看: 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 
+0

KarlC看看 – sharkguto 2017-01-11 17:54:45

+0

对我的情况没有帮助,因为我需要手动安装hdf5出于某种原因(这是一个4岁的问题,我不记得为什么 - 当时可能需要一个不在'pip'中的版本)。问题更多的是“我正在构建这个包,所以为什么我会得到这个错误”而不是“请教我如何使用pip和RHEL包管理器”。 – KarlC 2017-01-11 23:12:40

-1

这在一个干净的raspbian使用h5py时也发生在我身上。您需要先安装系统库。

apt install libhdf5-dev 

然后

pip install h5py 
+1

对于目前支持的h5py版本的ubuntu,是的。然而,我的问题是rhel不支持回购协议版本的h5py。 – KarlC 2018-02-25 21:08:08

+0

你提出了一个很好的观点,这就是为什么我在提到拉斯维加斯时,因为它在答案的那天发生在我身上。谢谢 – luismesas 2018-02-26 22:29:25