我做:
sudo pip install --upgrade tables
我明白了:
/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
但是:
$ 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
怎么了?怎么调试?我已经尝试将HDF5_DIR设置为/ opt /或/ opt / hdf5 / lib。
答案 0 :(得分:8)
我在Debian sid尝试在本地virtualenv工作时也遇到了同样的错误。为了解决这个问题,我做了:
apt-get build-dep python-tables
HDF5_DIR=/usr/lib/x86_64-linux-gnu/hdf5/serial/ && pip install tables
......现在它正在运作。
答案 1 :(得分:1)
我能够使用以下代码在OSX中使用虚拟环境轻松解决此问题:
$ brew install hdf5
$ pyvenv test
$ workon myvenv # to get pytables working within the virtual environment myvenv
$ pip install numpy numexpr cython
$ pip install tables
(取自https://github.com/PyTables/PyTables/issues/385中的andreabedini帖子)
答案 2 :(得分:0)
我遇到了类似的问题,但是我使用的是前沿而不是pip版本(参见Aside)。 我也试着指向图书馆本身
export HDF5_DIR=/usr/lib/libhdf5.so.6
但它不起作用。
除此之外:如果你认为你的bug最近已被解决,你可以试试PyTables的前沿:
sudo pip install git+https://github.com/PyTables/PyTables
在我安装了hdf5库的开发版本(libhdf5-openmpi-dev)之后,构建(由pip install引起的......)似乎进一步发展。由于其他原因,构建仍然失败,但这是你可以尝试的另一个方向。
答案 3 :(得分:0)
我尝试了一切,但均未成功。我能达到的唯一方法是使用我在这里得到的nehalecky的答案:
简而言之,您应该执行以下两个命令来纠正路径,当然:
sudo python3 setup.py build_ext --inplace --hdf5=/usr/lib/x86_64-linux-gnu/hdf5/serial/
sudo python3 setup.py install --hdf5=/usr/lib/x86_64-linux-gnu/hdf5/serial/
希望有帮助!
答案 4 :(得分:0)
也许您可以从这里为您的 pytables 操作系统安装稳定轮文件: http://www.lfd.uci.edu/~gohlke/pythonlibs/#pytables
使用此命令检查要下载的文件 path/to/pythonX.Y -m pip debug --verbose
还有这个命令安装wheel文件 pip install C:/some-dir/some-file.whl