When building without meson, `setup.py` generates a weird verion string `1.26.1.26.0`. Numpy's code has a logical error when doing some code clean-up in commit [1]. This causes the abnormal version string `1.26.01.26.0`, and then `setuptools` normalized this string as `1.26.1.26.0`. See also: [1] https://github.com/numpy/numpy/commit/a880c68752c47a63577e55689275b5fb9d6595a3 [2] https://github.com/numpy/numpy/pull/24196#discussion_r1291739515 --- a/numpy/distutils/core.py +++ b/numpy/distutils/core.py @@ -65,7 +65,8 @@ elif isinstance(dv, dict): _dict_append(dv, **v) elif is_string(dv): - d[k] = dv + v + assert is_string(v) + d[k] = v else: raise TypeError(repr(type(dv)))