3

在 IPython 的 Ubuntu 13.04 中导入 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 并在这些文件中设置了变量。
  • Ran ipython 命令启动 ipython 控制台

感谢你的帮助。

4

1 回答 1

3

您的问题是该pytables软件包是针对该软件包进行编译的,libhdf5.so.8并且当前在 ubuntu 存储库中您只有libhdf5-7 :( 此外,更新中没有任何内容:(

13.04 的 Ubuntu 存储库充满了不满意的依赖关系 :( 我真的不知道 Ubuntu 发生了什么,但目前的状态很糟糕。目前,如果你安装它,你甚至无法安装 g++。:-/

我建议你安装AnacondaCanopy。它们都是 Python 的独立二进制发行版,为您预编译了所有科学库,因此您不需要任何其他依赖库。他们运送整个东西。

我最终使用了 Anaconda,因为他们的包管理器 ( conda) 非常漂亮。

于 2013-08-24T18:26:28.407 回答