pytables安装失败

Ema*_*ini 2 install pip hdf5

我做:

sudo pip install --upgrade tables
Run Code Online (Sandbox Code Playgroud)

我明白了:

    /usr/bin/ld: cannot find -lhdf5
collect2: ld returned 1 exit status
.. ERROR:: Could not find a local HDF5 installation.
   You may need to explicitly state where your local HDF5 headers and
   library can be found by setting the ``HDF5_DIR`` environment
   variable or by using the ``--hdf5`` command-line option.
Complete output from command python setup.py egg_info:
/usr/bin/ld: cannot find -lhdf5
Run Code Online (Sandbox Code Playgroud)

然而:

$ echo $HDF5_DIR 
/opt/hdf5/
$ ls /opt/hdf5/
bin  include  lib  share
$ ls /opt/hdf5/lib/
libhdf5.a     libhdf5_hl.la  libhdf5_hl.so.8      libhdf5.la        libhdf5.so libhdf5.so.8.0.1
libhdf5_hl.a  libhdf5_hl.so  libhdf5_hl.so.8.0.1  libhdf5.settings  libhdf5.so.8
Run Code Online (Sandbox Code Playgroud)

怎么了?怎么调试?我已经尝试将HDF5_DIR设置为/ opt /或/ opt/hdf5/lib.

小智 9

我也在Debian sid尝试在本地virtualenv工作时遇到了同样的错误.为了解决这个问题,我做了:

apt-get build-dep python-tables
HDF5_DIR=/usr/lib/x86_64-linux-gnu/hdf5/serial/ && pip install tables
Run Code Online (Sandbox Code Playgroud)

......现在它正在发挥作用.

  • `sudo apt-get build-dep python-tables` 对我来说已经足够了!(Ubuntu 14.04) (2认同)
  • 我要做的就是“ sudo apt-get install hdf5-serial-dev”,然后“ pip install table”。 (2认同)

Owe*_*wen 1

我遇到了类似的问题,但我使用的是前沿而不是点释放(请参阅旁白)。我也尝试指向图书馆本身

export HDF5_DIR=/usr/lib/libhdf5.so.6
Run Code Online (Sandbox Code Playgroud)

但它不起作用。

另外:如果您认为您的错误最近可能已得到解决,您可以尝试 PyTables 的前沿:

sudo pip install git+https://github.com/PyTables/PyTables
Run Code Online (Sandbox Code Playgroud)

在我安装了 hdf5 库的开发版本 (libhdf5-openmpi-dev) 后,构建(由 pip install... 引起)似乎取得了进一步的进展。由于其他原因,构建仍然失败,但这是您可以尝试的另一个方向。

  • `HDF5_DIR` 需要目录而不是文件,`export HDF5_DIR=/local/johndoe/hdf5` (2认同)