Error while installing DeepLabCut: Collecting scikit-learn>=1.0

### Describe the bug

I'm trying to install DeeplLabCut and was encountering an error.
The devs guided me over here to as it seems to be an error while installing scikit-learn.

Issue for reference: https://github.com/DeepLabCut/DeepLabCut/issues/2139

I already installed Microsoft C++ Build Tools due to a previous error message, but it didn't fix the issue, just changed the error message.
I also installed an additional Fortran compiler (via MinGW) since that pops up in the log, but no effect.

### Steps/Code to Reproduce


1.     Clone https://github.com/DeepLabCut/DeepLabCut.git
2.     Open console
3.     cd Deeplabcut/conda-environments
4.     conda env create -f DEEPLABCUT.yaml
    


### Expected Results

Successful installation

### Actual Results

```
(base) PS C:\ProgramData\DeepLabCut\conda-environments> conda env create -f DEEPLABCUT.yaml
Collecting package metadata (repodata.json): done
Solving environment: done

Downloading and Extracting Packages

Preparing transaction: done
Verifying transaction: done
Executing transaction: / Enabling nb_conda_kernels...
CONDA_PREFIX: C:\ProgramData\Anaconda3\envs\DEEPLABCUT
Status: enabled

/ Config option `kernel_spec_manager_class` not recognized by `EnableNBExtensionApp`.
Enabling notebook extension nb_conda/main...
      - Validating: ok
Enabling tree extension nb_conda/tree...
      - Validating: ok
Config option `kernel_spec_manager_class` not recognized by `EnableServerExtensionApp`.
Enabling: nb_conda
- Writing config: C:\ProgramData\Anaconda3\envs\DEEPLABCUT\etc\jupyter
    - Validating...
      nb_conda 2.2.1 ok

done
Installing pip dependencies: | Ran pip subprocess with arguments:
['C:\\ProgramData\\Anaconda3\\envs\\DEEPLABCUT\\python.exe', '-m', 'pip', 'install', '-U', '-r', 'C:\\ProgramData\\DeepLabCut\\conda-environments\\condaenv.pjo7koro.requirements.txt', '--exists-action=b']
Pip subprocess output:
Collecting deeplabcut[gui,tf]
  Using cached deeplabcut-2.3.0-py3-none-any.whl (1.4 MB)
Collecting dlclibrary
  Using cached dlclibrary-0.0.2-py3-none-any.whl (9.4 kB)
Collecting filterpy>=1.4.4
  Using cached filterpy-1.4.5.zip (177 kB)
  Preparing metadata (setup.py): started
  Preparing metadata (setup.py): finished with status 'done'
Collecting ruamel.yaml>=0.15.0
  Using cached ruamel.yaml-0.17.21-py3-none-any.whl (109 kB)
Collecting imgaug>=0.4.0
  Using cached imgaug-0.4.0-py2.py3-none-any.whl (948 kB)
Collecting imageio-ffmpeg
  Using cached imageio_ffmpeg-0.4.8-py3-none-win_amd64.whl (22.6 MB)
Collecting numba>=0.54
  Using cached numba-0.56.4.tar.gz (2.4 MB)
  Preparing metadata (setup.py): started
  Preparing metadata (setup.py): finished with status 'done'
Collecting matplotlib>=3.3
  Using cached matplotlib-3.6.3-pp38-pypy38_pp73-win_amd64.whl (7.2 MB)
Collecting networkx>=2.6
  Using cached networkx-3.0-py3-none-any.whl (2.0 MB)
Collecting numpy>=1.18.5
  Using cached numpy-1.24.1-pp38-pypy38_pp73-win_amd64.whl (14.7 MB)
Collecting pandas!=1.5.0,>=1.0.1
  Using cached pandas-1.5.3.tar.gz (5.2 MB)
  Installing build dependencies: started
  Installing build dependencies: finished with status 'done'
  Getting requirements to build wheel: started
  Getting requirements to build wheel: still running...
  Getting requirements to build wheel: finished with status 'done'
  Preparing metadata (pyproject.toml): started
  Preparing metadata (pyproject.toml): finished with status 'done'
Collecting scikit-image>=0.17
  Using cached scikit-image-0.19.3.tar.gz (22.2 MB)
  Installing build dependencies: started
  Installing build dependencies: finished with status 'done'
  Getting requirements to build wheel: started
  Getting requirements to build wheel: still running...
  Getting requirements to build wheel: still running...
  Getting requirements to build wheel: still running...
  Getting requirements to build wheel: still running...
  Getting requirements to build wheel: still running...
  Getting requirements to build wheel: finished with status 'done'
  Preparing metadata (pyproject.toml): started
  Preparing metadata (pyproject.toml): finished with status 'done'
Collecting scikit-learn>=1.0
  Using cached scikit-learn-1.2.1.tar.gz (7.3 MB)
  Installing build dependencies: started
  Installing build dependencies: still running...
  Installing build dependencies: finished with status 'error'

Pip subprocess error:
  error: subprocess-exited-with-error

  × pip subprocess to install build dependencies did not run successfully.
  │ exit code: 1
  ╰─> [98 lines of output]
      Ignoring numpy: markers 'python_version == "3.10" and platform_system == "Windows" and platform_python_implementation != "PyPy"' don't match your environment
      Collecting setuptools<60.0
        Using cached setuptools-59.8.0-py3-none-any.whl (952 kB)
      Collecting wheel
        Using cached wheel-0.38.4-py3-none-any.whl (36 kB)
      Collecting Cython>=0.29.24
        Using cached Cython-0.29.33-py2.py3-none-any.whl (987 kB)
      Collecting oldest-supported-numpy
        Using cached oldest_supported_numpy-2022.11.19-py3-none-any.whl (4.9 kB)
      Collecting scipy>=1.3.2
        Using cached scipy-1.10.0.tar.gz (42.4 MB)
        Installing build dependencies: started
        Installing build dependencies: finished with status 'done'
        Getting requirements to build wheel: started
        Getting requirements to build wheel: finished with status 'done'
        Installing backend dependencies: started
        Installing backend dependencies: finished with status 'done'
        Preparing metadata (pyproject.toml): started
        Preparing metadata (pyproject.toml): finished with status 'error'
        error: subprocess-exited-with-error

        × Preparing metadata (pyproject.toml) did not run successfully.
        │ exit code: 1
        ╰─> [64 lines of output]
            + meson setup --prefix=C:\ProgramData\Anaconda3\envs\DEEPLABCUT C:\Users\root\AppData\Local\Temp\pip-install-g6rcbuhm\scipy_faae0307712440d1aa6ac1d367c827cb C:\Users\root\AppData\Local\Temp\pip-install-g6rcbuhm\scipy_faae0307712440d1aa6ac1d367c827cb\.mesonpy-ilufesl8\build --native-file=C:\Users\root\AppData\Local\Temp\pip-install-g6rcbuhm\scipy_faae0307712440d1aa6ac1d367c827cb\.mesonpy-native-file.ini -Ddebug=false -Doptimization=2
            The Meson build system
            Version: 1.0.0
            Source dir: C:\Users\root\AppData\Local\Temp\pip-install-g6rcbuhm\scipy_faae0307712440d1aa6ac1d367c827cb
            Build dir: C:\Users\root\AppData\Local\Temp\pip-install-g6rcbuhm\scipy_faae0307712440d1aa6ac1d367c827cb\.mesonpy-ilufesl8\build
            Build type: native build
            Project name: SciPy
            Project version: 1.10.0
            Activating VS 17.4.4
            C compiler for the host machine: cl (msvc 19.34.31937 "Microsoft (R) C/C++ Optimizing Compiler Version 19.34.31937 for x64")
            C linker for the host machine: link link 14.34.31937.0
            C++ compiler for the host machine: cl (msvc 19.34.31937 "Microsoft (R) C/C++ Optimizing Compiler Version 19.34.31937 for x64")
            C++ linker for the host machine: link link 14.34.31937.0
            Host machine cpu family: x86_64
            Host machine cpu: x86_64
            Compiler for C supports arguments -Wno-unused-but-set-variable: NO
            Compiler for C supports arguments -Wno-unused-function: NO
            Compiler for C supports arguments -Wno-conversion: NO
            Compiler for C supports arguments -Wno-misleading-indentation: NO
            Compiler for C supports arguments -Wno-incompatible-pointer-types: NO
            Library m found: NO

            ..\..\meson.build:63:0: ERROR: Unknown compiler(s): [['ifort'], ['gfortran'], ['flang'], ['pgfortran'], ['g95']]
            The following exception(s) were encountered:
            Running `ifort --version` gave "[WinError 2] The system cannot find the file specified"
            Running `ifort -V` gave "[WinError 2] The system cannot find the file specified"
            Running `gfortran --version` gave "[WinError 2] The system cannot find the file specified"
            Running `gfortran -V` gave "[WinError 2] The system cannot find the file specified"
            Running `flang --version` gave "[WinError 2] The system cannot find the file specified"
            Running `flang -V` gave "[WinError 2] The system cannot find the file specified"
            Running `pgfortran --version` gave "[WinError 2] The system cannot find the file specified"
            Running `pgfortran -V` gave "[WinError 2] The system cannot find the file specified"
            Running `g95 --version` gave "[WinError 2] The system cannot find the file specified"
            Running `g95 -V` gave "[WinError 2] The system cannot find the file specified"

            A full log can be found at C:\Users\root\AppData\Local\Temp\pip-install-g6rcbuhm\scipy_faae0307712440d1aa6ac1d367c827cb\.mesonpy-ilufesl8\build\meson-logs\meson-log.txt
            Traceback (most recent call last):
              File "C:\ProgramData\Anaconda3\envs\DEEPLABCUT\Lib\site-packages\pip\_vendor\pyproject_hooks\_in_process\_in_process.py", line 353, in <module>
                main()
              File "C:\ProgramData\Anaconda3\envs\DEEPLABCUT\Lib\site-packages\pip\_vendor\pyproject_hooks\_in_process\_in_process.py", line 335, in main
                json_out['return_val'] = hook(**hook_input['kwargs'])
              File "C:\ProgramData\Anaconda3\envs\DEEPLABCUT\Lib\site-packages\pip\_vendor\pyproject_hooks\_in_process\_in_process.py", line 152, in prepare_metadata_for_build_wheel
                whl_basename = backend.build_wheel(metadata_directory, config_settings)
              File "C:\Users\root\AppData\Local\Temp\pip-build-env-zyfie775\overlay\Lib\site-packages\mesonpy\__init__.py", line 1060, in build_wheel
                with _project(config_settings) as project:
              File "C:\ProgramData\Anaconda3\envs\DEEPLABCUT\Lib\contextlib.py", line 113, in __enter__
                return next(self.gen)
              File "C:\Users\root\AppData\Local\Temp\pip-build-env-zyfie775\overlay\Lib\site-packages\mesonpy\__init__.py", line 975, in _project
                with Project.with_temp_working_dir(
              File "C:\ProgramData\Anaconda3\envs\DEEPLABCUT\Lib\contextlib.py", line 113, in __enter__
                return next(self.gen)
              File "C:\Users\root\AppData\Local\Temp\pip-build-env-zyfie775\overlay\Lib\site-packages\mesonpy\__init__.py", line 750, in with_temp_working_dir
                yield cls(source_dir, tmpdir, build_dir, meson_args)
              File "C:\Users\root\AppData\Local\Temp\pip-build-env-zyfie775\overlay\Lib\site-packages\mesonpy\__init__.py", line 632, in __init__
                self._configure(reconfigure=bool(build_dir) and not native_file_mismatch)
              File "C:\Users\root\AppData\Local\Temp\pip-build-env-zyfie775\overlay\Lib\site-packages\mesonpy\__init__.py", line 680, in _configure
                self._meson('setup', *setup_args)
              File "C:\Users\root\AppData\Local\Temp\pip-build-env-zyfie775\overlay\Lib\site-packages\mesonpy\__init__.py", line 657, in _meson
                return self._proc('meson', *args)
              File "C:\Users\root\AppData\Local\Temp\pip-build-env-zyfie775\overlay\Lib\site-packages\mesonpy\__init__.py", line 652, in _proc
                subprocess.check_call(list(args), env=self._env)
              File "C:\ProgramData\Anaconda3\envs\DEEPLABCUT\Lib\subprocess.py", line 364, in check_call
                raise CalledProcessError(retcode, cmd)
            subprocess.CalledProcessError: Command '['meson', 'setup', '--prefix=C:\\ProgramData\\Anaconda3\\envs\\DEEPLABCUT', 'C:\\Users\\root\\AppData\\Local\\Temp\\pip-install-g6rcbuhm\\scipy_faae0307712440d1aa6ac1d367c827cb', 'C:\\Users\\root\\AppData\\Local\\Temp\\pip-install-g6rcbuhm\\scipy_faae0307712440d1aa6ac1d367c827cb\\.mesonpy-ilufesl8\\build', '--native-file=C:\\Users\\root\\AppData\\Local\\Temp\\pip-install-g6rcbuhm\\scipy_faae0307712440d1aa6ac1d367c827cb\\.mesonpy-native-file.ini', '-Ddebug=false', '-Doptimization=2']' returned non-zero exit status 1.
            [end of output]

        note: This error originates from a subprocess, and is likely not a problem with pip.
      error: metadata-generation-failed

      × Encountered error while generating package metadata.
      ╰─> See above for output.

      note: This is an issue with the package mentioned above, not pip.
      hint: See above for details.
      [end of output]

  note: This error originates from a subprocess, and is likely not a problem with pip.
error: subprocess-exited-with-error

× pip subprocess to install build dependencies did not run successfully.
│ exit code: 1
╰─> See above for output.

note: This error originates from a subprocess, and is likely not a problem with pip.

failed

CondaEnvException: Pip failed
```

### Versions

```shell
NA
```

COMMENT:
From your traceback, the Python installation is building a few dependencies and is failing at SciPy. In the wheel tag for matplotlib, I see `pypy38_pp73-win_amd64.whl`, which means the [PyPy](https://www.pypy.org/) implementation of Python is being used. Many libraries do not ship a PyPy wheel on PyPI, which means many of the libraries need to be build locally. In the traceback, we can see the pandas, scikit-image, etc are being built locally.

The error happens when trying to build `SciPy`, which is **very hard** to build locally. Since building SciPy is difficult, I recommend using CPython. One can get CPython with conda by install miniconda: https://docs.conda.io/en/latest/miniconda.html.

Labels: Bug, Needs Triage