installing scikit-learn in alpine

### Describe the bug

i am trying to install scikit-learn in an alpine image, python:3.9-alpine, but it is failing

This is my dockerfile

```
FROM python:3.9-alpine
RUN apk --update add gcc build-base freetype-dev libpng-dev openblas-dev py3-scikit-learn
RUN pip install scikit-learn
```

And this is the error

`#8 237.6 FAILED: scipy/stats/stats_pythran.cpython-39-aarch64-linux-gnu.so.p/meson-generated.._stats_pythran.cpp.o #8 237.6 c++ -Iscipy/stats/stats_pythran.cpython-39-aarch64-linux-gnu.so.p -Iscipy/stats -I../scipy/stats -I../../../pip-build-env-g1ms629a/overlay/lib/python3.9/site-packages/pythran -I../../../pip-build-env-g1ms629a/overlay/lib/python3.9/site-packages/numpy/core/include -I/usr/local/include/python3.9 -fvisibility=hidden -fvisibility-inlines-hidden -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -std=c++14 -O3 -fPIC -DENABLE_PYTHON_MODULE -D__PYTHRAN=3 -DPYTHRAN_BLAS_NONE -Wno-cpp -Wno-deprecated-declarations -Wno-unused-but-set-variable -Wno-unused-function -Wno-unused-variable -Wno-int-in-bool-context -MD -MQ scipy/stats/stats_pythran.cpython-39-aarch64-linux-gnu.so.p/meson-generated..__stats_pythran.cpp.o -MF scipy/stats/stats_pythran.cpython-39-aarch64-linux-gnu.so.p/meson-generated..__stats_pythran.cpp.o.d -o scipy/stats/stats_pythran.cpython-39-aarch64-linux-gnu.so.p/meson-generated..__stats_pythran.cpp.o -c scipy/stats/_stats_pythran.cpp`


what is the right way to install scikit-learn in an alpine image?

Thanks

### Steps/Code to Reproduce

create a dockerfile like this

```
FROM python:3.9-alpine
RUN apk --update add gcc build-base freetype-dev libpng-dev openblas-dev py3-scikit-learn
RUN pip install scikit-learn
```

### Expected Results

scikit-learn is installed correctly

### Actual Results

`#8 237.6 FAILED: scipy/stats/stats_pythran.cpython-39-aarch64-linux-gnu.so.p/meson-generated.._stats_pythran.cpp.o #8 237.6 c++ -Iscipy/stats/stats_pythran.cpython-39-aarch64-linux-gnu.so.p -Iscipy/stats -I../scipy/stats -I../../../pip-build-env-g1ms629a/overlay/lib/python3.9/site-packages/pythran -I../../../pip-build-env-g1ms629a/overlay/lib/python3.9/site-packages/numpy/core/include -I/usr/local/include/python3.9 -fvisibility=hidden -fvisibility-inlines-hidden -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -std=c++14 -O3 -fPIC -DENABLE_PYTHON_MODULE -D__PYTHRAN=3 -DPYTHRAN_BLAS_NONE -Wno-cpp -Wno-deprecated-declarations -Wno-unused-but-set-variable -Wno-unused-function -Wno-unused-variable -Wno-int-in-bool-context -MD -MQ scipy/stats/stats_pythran.cpython-39-aarch64-linux-gnu.so.p/meson-generated..__stats_pythran.cpp.o -MF scipy/stats/stats_pythran.cpython-39-aarch64-linux-gnu.so.p/meson-generated..__stats_pythran.cpp.o.d -o scipy/stats/stats_pythran.cpython-39-aarch64-linux-gnu.so.p/meson-generated..__stats_pythran.cpp.o -c scipy/stats/_stats_pythran.cpp`

### Versions

```shell
scikit-learn-1.3.2
```

COMMENT:
Alpine linux uses a different a different libc, namely `musl`. This means that for a lot of packages there are no pre-built wheels available on pypi.org. As a result you have to build packages from source.

In this case the error message above arises while building the scipy package. To get advice on how to build scipy on alpine please head over to https://scipy.org/ - they know much more about this than we do.

---

If possible I'd switch to a light weight image of Debian or Ubuntu. These are not much bigger than the Alpine images and often already present on your machine(s). So the cost is minimal in terms of image pull time and additional disk space. However, they are much more widely used and hence you are likely to face less issues. A big gain in developer time.

Labels: Bug, Needs Triage