【问题标题】:Unable to install library due to error with hdf5由于 hdf5 错误,无法安装库
【发布时间】:2018-12-06 02:10:58
【问题描述】:

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

这会导致错误

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.

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

【问题讨论】:

  • 你在哪个操作系统上?
  • 嗨哈拉莫兹。我正在我的 Windows 10 上安装它
  • 如果你使用 Python 3.6 而不是 3.7,你就不会遇到这些问题,因为 Pytables 是为 Pythonhere 下载预编译的轮子(确保您正在下载与您的 Python 版本匹配的轮子)并从本地轮子文件安装 Pytables:pip install C:\path\to\wheel
  • 嘿@hoefling。那行得通!非常感谢
  • @hoefling,你把我的压力减轻了 99.999%。太感谢了。如果我是你,我会用你的评论来回答这个问题,因为它似乎确实有效!

标签: python windows pip windows-10 hdf5


【解决方案1】:

我发现一个解决方案适用于 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 中验证这些设置。

【讨论】:

  • 这对我有用,Windows 10,VS 2019 社区,Python 3.9.7。必须设置两个环境变量才能安装工作。我对一个通用名为“LIB”的环境变量有点不舒服,所以我现在要删除它,因为我的pip install tables 已成功完成。
【解决方案2】:

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

【讨论】:

    猜你喜欢
    • 2023-03-31
    • 2013-10-28
    • 2021-06-01
    • 2011-02-21
    • 1970-01-01
    • 1970-01-01
    • 2021-11-16
    • 2021-02-09
    • 2020-04-27
    相关资源
    最近更新 更多