hdf5错误导致无法安装库

时间:2018-12-06 02:10:59

标签: python windows pip windows-10 hdf5

我尝试通过以下方式安装python库表:pip安装表

这会导致错误

Collecting tables Using cached https://files.pythonhosted.org/packages/4d/53/8f34ce887c2a2ad80518980419a5f6f41defc85a287a355987e559ce9385/tables-3.4.4.tar.gz
Complete output from command python setup.py egg_info:
H5closeplbq5iz8.c
C:\Users\tkim1\AppData\Local\Temp\H5closeplbq5iz8.c(2): warning C4013: 'H5close' undefined; assuming extern returning int
LINK : fatal error LNK1181: cannot open input file 'hdf5.lib'
* Using Python 3.7.0 (v3.7.0:1bf9cc5093, Jun 27 2018, 04:59:51) [MSC v.1914 64 bit (AMD64)]
* USE_PKGCONFIG: False
.. 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.

未发现HDF5的问题似乎很常见:https://github.com/PyTables/PyTables/issues/219https://github.com/PyTables/PyTables/issues/385。但是,作为编码的新手,我很难进行讨论。 我尝试解决此问题时遇到的最莫名其妙的事情之一就是正在讨论的许多终端代码都没有被我的终端使用。

sudo python setup.py build_ext --inplace --hdf5=/opt/local --lzo=/opt/local --bzip2==opt/local

output: 'sudo' is not recognized as an internal or external command,operable program or batch file.


env HDF5_DIR=$PWD pip install tables

output:'env' is not recognized as an internal or external command,operable program or batch file.

在解决此安装问题或如何应用这些不同的终端命令方面的任何帮助将不胜感激。谢谢大家。

2 个答案:

答案 0 :(得分:0)

正如 in this duplicate question 所暗示的,如果使用 conda 是一种选择,conda install pytables 很可能会在 Windows 环境中解决该问题(在 Windows 10、python 3.9、表 3.6.1 上测试)

答案 1 :(得分:0)

我发现一个解决方案适用于 Windows 10 和 Visual Studio 2019 社区和 Python 3.9.1。

  1. 下载 HDF5 并安装。
  2. 设置两个环境变量,必要时更改版本。
    HDF5_DIR=C:\Program Files\HDF_Group\HDF5\1.12.0
    LIB=C:\Program Files\HDF_Group\HDF5\1.12.0\lib
    

HDF5_DIR 与 HDF5 的 README 不同,它告诉您将其设置为 C:\Program Files\HDF_Group\HDF5\1.12.0\cmake 以使用 Cmake,但它与 pyTables setup.py 不兼容。并且 LIB 环境变量告诉 link.exe 查找 hdf5.lib,如果未设置此变量,则会显示链接错误,抱怨在我的系统上找不到 hdf5.lib

设置两个环境变量后,就可以通过pip install tables安装pyTables了。

您可以通过 $env:HDF5_DIR$env:LIB 在 powershell 中验证这些设置。