我做:
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)
......现在它正在发挥作用.
我遇到了类似的问题,但我使用的是前沿而不是点释放(请参阅旁白)。我也尝试指向图书馆本身
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... 引起)似乎取得了进一步的进展。由于其他原因,构建仍然失败,但这是您可以尝试的另一个方向。