scikit-learn 1.2.0 compiled against numpy ABI version 0x10 but this version of numpy is 0xf

### Describe the bug

Using numpy 1.22.0 from my OS (Fedora 37, x86_64), I get this error on `import sklearn`:
```
RuntimeError: module compiled against API version 0x10 but this version of numpy is 0xf
```
Does scikit-learn really need `numpy>=1.22`?  If so, the metadata needs updated.  Or is something else going on?

I found these older issues: #7527,  #10839, but as far as I can tell they are unrelated.


### Steps/Code to Reproduce

```
import sklearn
```

### Expected Results

no error is thrown

### Actual Results

```
import sklearn
---------------------------------------------------------------------------
RuntimeError                              Traceback (most recent call last)
File __init__.pxd:942, in numpy.import_array()

RuntimeError: module compiled against API version 0x10 but this version of numpy is 0xf

During handling of the above exception, another exception occurred:

ImportError                               Traceback (most recent call last)
Cell In [1], line 1
----> 1 import sklearn

File ~/.local/lib/python3.11/site-packages/sklearn/__init__.py:82
     80 from . import _distributor_init  # noqa: F401
     81 from . import __check_build  # noqa: F401
---> 82 from .base import clone
     83 from .utils._show_versions import show_versions
     85 __all__ = [
     86     "calibration",
     87     "cluster",
   (...)
    128     "show_versions",
    129 ]

File ~/.local/lib/python3.11/site-packages/sklearn/base.py:17
     15 from . import __version__
     16 from ._config import get_config
---> 17 from .utils import _IS_32BIT
     18 from .utils._set_output import _SetOutputMixin
     19 from .utils._tags import (
     20     _DEFAULT_TAGS,
     21 )

File ~/.local/lib/python3.11/site-packages/sklearn/utils/__init__.py:19
     16 import numpy as np
     17 from scipy.sparse import issparse
---> 19 from .murmurhash import murmurhash3_32
     20 from .class_weight import compute_class_weight, compute_sample_weight
     21 from . import _joblib

File sklearn/utils/murmurhash.pyx:26, in init sklearn.utils.murmurhash()

File __init__.pxd:944, in numpy.import_array()

ImportError: numpy.core.multiarray failed to import

```

That was from within ipython.  Similarly, one of my scripts failed with the same error on the command line:

```
Traceback (most recent call last):
  File "__init__.pxd", line 942, in numpy.import_array
RuntimeError: module compiled against API version 0x10 but this version of numpy is 0xf

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/cbm/src/XXXXXXXXXX/trainRandomForestModel.py", line 11, in <module>

    import sklearn
  File "/home/cbm/.local/lib/python3.11/site-packages/sklearn/__init__.py", line 82, in <module>
    from .base import clone
  File "/home/cbm/.local/lib/python3.11/site-packages/sklearn/base.py", line 17, in <module>
    from .utils import _IS_32BIT
  File "/home/cbm/.local/lib/python3.11/site-packages/sklearn/utils/__init__.py", line 19, in <module>
    from .murmurhash import murmurhash3_32
  File "sklearn/utils/murmurhash.pyx", line 26, in init sklearn.utils.murmurhash
  File "__init__.pxd", line 944, in numpy.import_array
ImportError: numpy.core.multiarray failed to import
```


### Versions

```shell
This started on the recent scikit-learn 1.2.0

I'm on Fedora 37, x86_64.  I have numpy-1.22.0 from the OS, specifically:

python3-numpy.x86_64                   1:1.22.0-7.fc37
```

I upgraded scikit-learn using `pip install --upgrade sci-kitlearn`:
```
Defaulting to user installation because normal site-packages is not writeable
Requirement already satisfied: scikit-learn in /usr/lib64/python3.11/site-packages (1.1.2)
Collecting scikit-learn
  Downloading scikit_learn-1.2.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (9.5 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 9.5/9.5 MB 6.4 MB/s eta 0:00:00
Requirement already satisfied: numpy>=1.17.3 in /usr/lib64/python3.11/site-packages (from scikit-learn) (1.22.0)
Requirement already satisfied: scipy>=1.3.2 in /usr/lib64/python3.11/site-packages (from scikit-learn) (1.8.1)
Requirement already satisfied: joblib>=1.1.1 in /usr/lib/python3.11/site-packages (from scikit-learn) (1.2.0)
Requirement already satisfied: threadpoolctl>=2.0.0 in /usr/lib/python3.11/site-packages (from scikit-learn) (3.1.0)
Requirement already satisfied: cloudpickle>=1.6 in /usr/lib/python3.11/site-packages (from joblib>=1.1.1->scikit-learn) (2.1.0)
Installing collected packages: scikit-learn
Successfully installed scikit-learn-1.2.0
```
Note declared minimum version is `numpy>=1.17.3`.


I can upgrade numpy and then it works:
```
pip install --upgrade numpy
Defaulting to user installation because normal site-packages is not writeable
Requirement already satisfied: numpy in /usr/lib64/python3.11/site-packages (1.22.0)
Collecting numpy
  Using cached numpy-1.23.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (17.1 MB)
Installing collected packages: numpy
Successfully installed numpy-1.23.5
```
Then:
```
import sklearn
```

I have verified the same behaviour on another system (also on Fedora 37).  I will also try to reproduce elsewhere.
```

COMMENT:
I am not sure that we can do so much here.

Regarding the `pyproject.toml`, it will be helpful if you try to build from the source which is not the case here.

Regarding the issue, it boils down to mixing packages from different repositories: I assume that the Fedora project makes sure that `python3-scikit-learn` works with the stack. However mixing PyPI packages together with the system or conda, will always end up in a situation where we cannot control everything.

The minimum in `older-supported-numpy` is 1.23.2 because this is the only version that provides wheels for Python 3.11 on PyPI. Fedora built 1.22.0, especially for Python 3.11. I assume they did it because some packages from the Python ecosystem did not support such a recent NumPy.

I am wondering if, for Fedora, the safest solution would be to have an older Python version, to allow a mixture of `PyPI` and system packages. For instance, this is one of the reasons why our Ubuntu CIs did not crash.

Labels: Bug, Needs Triage