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 can reproduce the issue in the Fedora container and I have to say it seems like an issue to me. At the same time, I am not too sure what is supposed to happen here. cc @thomasjpfan @glemaitre @ogrisel who have been involved in a recent PR on pyproject.toml.

It seems like this is a bit of an edge case in some sense. For it to happen you need the combination of these 3 things: 
- this is Python 3.11
- numpy is installed by the package manager to an older version compared to what `oldest-supported-numpy` says
- scikit-learn (or scipy or any other package that uses `oldest-supported-numpy`) is installed from a wheel

If you look at `oldest-supported-numpy`, for Python 3.11 it wants 1.23.2
https://github.com/scipy/oldest-supported-numpy/blob/b0b3376f6838abd91a9988b936f70939d4acb775/setup.cfg#L65

So unless I am mistaken this means that we build scikit-learn wheel with numpy 1.23.2 but then if you have numpy 1.22 you will get an error at import time as you did. This seems not a problem only for scikit-learn but also for scipy and all the projects that use `oldest-supported-numpy` with Python 3.11.

Of course if you install everything from wheels you will not get the issue.

Labels: Bug, Needs Triage