Pytables HDF5 ImportError无法打开共享对象文件。

3

在Ubuntu 13.04中,在IPython中导入PyTables时,我遇到了以下错误:

In [1]: from tables import *
---------------------------------------------------------------------------
ImportError                               Traceback (most recent call last)
<ipython-input-1-4c3ea368be2a> in <module>()
----> 1 from tables import *

/usr/local/lib/python2.7/dist-packages/tables/__init__.py in <module>()
     80 
     81 # Necessary imports to get versions stored on the cython extension
---> 82 from tables.utilsextension import (get_pytables_version, get_hdf5_version,
     83     getPyTablesVersion, getHDF5Version)  # Pending Deprecation!
     84 

ImportError: libhdf5.so.8: cannot open shared object file: No such file or directory

我已经采取了以下措施:
  • 正确设置并验证了LD_LIBRARY_PATH和PATH环境变量,通过回显它们的值来确认它们指向了正确的路径。
  • 确保文件libhdf5.so.8在路径中可用
  • 启动了一个新终端
  • 在终端中执行了source /etc/environment命令,并在这些文件中设置了变量。
  • 运行ipython命令以启动ipython控制台
感谢您的帮助。
1个回答

3
你的问题是pytables包是根据libhdf5.so.8编译的,而目前在Ubuntu仓库中只有libhdf5-7 :( 同时,updates中也没有改进 :(

Ubuntu 13.04的仓库中充满了无法满足的依赖项 :( 我真的不知道Ubuntu发生了什么事情,但当前状态很糟糕。目前,如果你安装它,甚至都无法安装g++. :-/

我建议你安装AnacondaCanopy。它们都是Python的独立二进制发行版,已经为你预编译好了所有科学库,因此你不需要任何其他依赖库。它们提供整个套件。

最终我使用了Anaconda,因为他们的软件包管理器(conda)非常方便。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接