Failed to build h5py on mac M1
Asked Answered
F

3

10

I am trying to install AlphaFold in a python virtual env. While trying to install dependencies, I get this error:

    ERROR: Could not find a version that satisfies the requirement tensorflow==1.14 (from versions: none)
ERROR: No matching distribution found for tensorflow==1.14

To fix this, I run the command: " pip3 install --upgrade https://storage.googleapis.com/tensorflow/mac/cpu/tensorflow-1.14.0-py3-none-any.whl "

but on doing this, I get a long error message concluded with:

 In file included from /private/var/folders/r_/bgrrl1md0s5gx95p0q8qjj8h0000gn/T/pip-install-kh7jhw3_/h5py_4b8d652f3fda4ea0a05597c3cbb46b5b/h5py/defs.c:734:
  ./h5py/api_compat.h:27:10: fatal error: 'hdf5.h' file not found
  #include "hdf5.h"
           ^~~~~~~~
  1 error generated.
  error: command '/usr/bin/clang' failed with exit code 1
  ----------------------------------------
  ERROR: Failed building wheel for h5py
Failed to build h5py
ERROR: Could not build wheels for h5py, which is required to install pyproject.toml-based projects

I tried the following commands with no success and the same error:

"brew install hdf5" (it gets installed, but the h5py installation is still unable to locate hdf5.h file) "sudo -H pip3 install h5py" "pip install h5py"

Freitas answered 11/1, 2022 at 16:31 Comment(0)
E
14

You will need to export the HDF5_DIR environment variable first.

Run:

$ export HDF5_DIR=/opt/homebrew/Cellar/hdf5/1.12.1/
$ pip install --no-binary=h5py h5py
Elodiaelodie answered 19/1, 2022 at 15:46 Comment(1)
Confirmed this worked for me. In my case, I was trying to install TensorFlow via pip install tensorflow-macos and I was getting the same error as the OP. Exporting HDF5_DIR fixed it for me (I didn't have to use the --no-binary flag).Kiernan
P
9
  1. brew install hdf5

  2. Get version number from ls /opt/homebrew/Cellar/hdf5/, mine was 1.13.0

  3. Export that directory so h5py can see it:

    export HDF5_DIR=/opt/homebrew/Cellar/hdf5/[version number]/

    Mine was: export HDF5_DIR=/opt/homebrew/Cellar/hdf5/1.13.0/

  4. Try pip installing again (tensorflow or h5py).

Potence answered 3/3, 2022 at 16:49 Comment(0)
N
0

None of the above answers worked for me, but this did:

brew install hdf5
export CPATH="/opt/homebrew/include/"
export HDF5_DIR=/opt/homebrew/
pip3 install h5py
Nog answered 18/4, 2022 at 13:21 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.