You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Raysect's build requirements specify oldest-supported-numpy, which is 1.14, while install_requires sets the NumPy version to numpy>=1.14, which installs NumPy 2.0 in Python 3.9 and above. Since NumPy 2.0 and 1.x are not binary compatible, trying to run any Raysect code produces errors like this:
ValueError: numpy.dtype size changed, may indicate binary incompatibility. Expected 96 from C header, got 88 from PyObject
I propose to constrain the NumPy version to 1.x in setup.py and make another post release.
The text was updated successfully, but these errors were encountered:
Building with Numpy 2.0 provides backwards compatibility with runtime 1.x. So I think it'd actually be better to update pyproject.toml to use numpy~=2.0 for Python 3.9 and later, and oldest-supported-numpy for Python 3.8 and earlier. That would additionally mean packages depending on Raysect wouldn't have to pin to Numpy 1.x either on newer Pythons.
I don't know whether it's worth also updating install_requires, since building with Numpy 1.x on 3.8 and earlier wouldn't be an issue as Numpy 2.0 isn't available at runtime on 3.8 and earlier (without a user trying rather hard to get it installed, at which point they should expect problems!).
Raysect's build requirements specify
oldest-supported-numpy
, which is 1.14, whileinstall_requires
sets the NumPy version tonumpy>=1.14
, which installs NumPy 2.0 in Python 3.9 and above. Since NumPy 2.0 and 1.x are not binary compatible, trying to run any Raysect code produces errors like this:I propose to constrain the NumPy version to 1.x in
setup.py
and make another post release.The text was updated successfully, but these errors were encountered: