Wheels not updated for numpy 2.0
What version of pyhdf, HDF4, and Python are you using?
pyhdf version: 0.11.4 HDF4 C library version: Not applicable, installed from wheel Python version: 3.11.7 numpy: 2.0.0
What operating system are you using?
Linux
What did you do?
from pyhdf.SD import SD, SDC
What did you expect to see?
Successful import.
What did you see instead?
ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.0 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2.
Additional information
This should be a simple change; the wheels need to be rebuilt with Numpy 2 (released this week). Ideally, wheels would be built for python 3.12 as well.
I'm running into this issue as well. Currently, all applications that use pyhdf need to pin numpy < 2.0.
Looks like this was fixed, at least as of v0.11.6-rc.1. In a new python:3.10-slim-bullseye image:
root@d6e7ae99aaec:/# pip3 install numpy
Collecting numpy
Downloading numpy-2.2.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (16.4 MB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 16.4/16.4 MB 155.9 MB/s eta 0:00:00
Installing collected packages: numpy
Successfully installed numpy-2.2.1
root@d6e7ae99aaec:/# pip3 install pyhdf
Collecting pyhdf
Downloading pyhdf-0.11.6-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (770 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 770.8/770.8 kB 55.2 MB/s eta 0:00:00
Requirement already satisfied: numpy in /usr/local/lib/python3.10/site-packages (from pyhdf) (2.2.1)
Installing collected packages: pyhdf
Successfully installed pyhdf-0.11.6
root@d6e7ae99aaec:/# python3.10
Python 3.10.16 (main, Dec 4 2024, 20:35:45) [GCC 10.2.1 20210110] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> from pyhdf.SD import SD, SDC
>>>
Thank you! We're testing this now.