C:\Users\dawid>pip install horovod[torch]
Collecting horovod[torch]
  Using cached horovod-0.28.1.tar.gz (3.5 MB)
  Preparing metadata (setup.py) ... done
WARNING: horovod 0.28.1 does not provide the extra 'torch'
Collecting cloudpickle (from horovod[torch])
  Using cached cloudpickle-3.1.0-py3-none-any.whl.metadata (7.0 kB)
Requirement already satisfied: psutil in c:\program files\python312\lib\site-packages (from horovod[torch]) (6.1.0)
Requirement already satisfied: pyyaml in c:\program files\python312\lib\site-packages (from horovod[torch]) (6.0.2)
Requirement already satisfied: packaging in c:\program files\python312\lib\site-packages (from horovod[torch]) (24.1)
Requirement already satisfied: cffi>=1.4.0 in c:\program files\python312\lib\site-packages (from horovod[torch]) (1.17.1)
Requirement already satisfied: pycparser in c:\program files\python312\lib\site-packages (from cffi>=1.4.0->horovod[torch]) (2.22)
Using cached cloudpickle-3.1.0-py3-none-any.whl (22 kB)
Building wheels for collected packages: horovod
  Building wheel for horovod (setup.py) ... error
  error: subprocess-exited-with-error

  × python setup.py bdist_wheel did not run successfully.
  │ exit code: 1
  ╰─> [280 lines of output]
      C:\Program Files\Python312\Lib\site-packages\setuptools\__init__.py:94: _DeprecatedInstaller: setuptools.installer and fetch_build_eggs are deprecated.
      !!

              ********************************************************************************
              Requirements should be satisfied by a PEP 517 installer.
              If you are using pip, you can try `pip install --use-pep517`.
              ********************************************************************************

      !!
        dist.fetch_build_eggs(dist.setup_requires)
      C:\Program Files\Python312\Lib\site-packages\setuptools\_distutils\dist.py:261: UserWarning: Unknown distribution option: 'tests_require'
        warnings.warn(msg)
      running bdist_wheel
      running build
      running build_py
      creating build\lib.win-amd64-cpython-312\horovod
      copying horovod\__init__.py -> build\lib.win-amd64-cpython-312\horovod
      creating build\lib.win-amd64-cpython-312\horovod\common
      copying horovod\common\basics.py -> build\lib.win-amd64-cpython-312\horovod\common
      copying horovod\common\elastic.py -> build\lib.win-amd64-cpython-312\horovod\common
      copying horovod\common\exceptions.py -> build\lib.win-amd64-cpython-312\horovod\common
      copying horovod\common\process_sets.py -> build\lib.win-amd64-cpython-312\horovod\common
      copying horovod\common\util.py -> build\lib.win-amd64-cpython-312\horovod\common
      copying horovod\common\__init__.py -> build\lib.win-amd64-cpython-312\horovod\common
      creating build\lib.win-amd64-cpython-312\horovod\data
      copying horovod\data\data_loader_base.py -> build\lib.win-amd64-cpython-312\horovod\data
      copying horovod\data\__init__.py -> build\lib.win-amd64-cpython-312\horovod\data
      creating build\lib.win-amd64-cpython-312\horovod\keras
      copying horovod\keras\callbacks.py -> build\lib.win-amd64-cpython-312\horovod\keras
      copying horovod\keras\elastic.py -> build\lib.win-amd64-cpython-312\horovod\keras
      copying horovod\keras\__init__.py -> build\lib.win-amd64-cpython-312\horovod\keras
      creating build\lib.win-amd64-cpython-312\horovod\mxnet
      copying horovod\mxnet\compression.py -> build\lib.win-amd64-cpython-312\horovod\mxnet
      copying horovod\mxnet\functions.py -> build\lib.win-amd64-cpython-312\horovod\mxnet
      copying horovod\mxnet\mpi_ops.py -> build\lib.win-amd64-cpython-312\horovod\mxnet
      copying horovod\mxnet\__init__.py -> build\lib.win-amd64-cpython-312\horovod\mxnet
      creating build\lib.win-amd64-cpython-312\horovod\ray
      copying horovod\ray\adapter.py -> build\lib.win-amd64-cpython-312\horovod\ray
      copying horovod\ray\driver_service.py -> build\lib.win-amd64-cpython-312\horovod\ray
      copying horovod\ray\elastic.py -> build\lib.win-amd64-cpython-312\horovod\ray
      copying horovod\ray\elastic_v2.py -> build\lib.win-amd64-cpython-312\horovod\ray
      copying horovod\ray\ray_logger.py -> build\lib.win-amd64-cpython-312\horovod\ray
      copying horovod\ray\runner.py -> build\lib.win-amd64-cpython-312\horovod\ray
      copying horovod\ray\strategy.py -> build\lib.win-amd64-cpython-312\horovod\ray
      copying horovod\ray\utils.py -> build\lib.win-amd64-cpython-312\horovod\ray
      copying horovod\ray\worker.py -> build\lib.win-amd64-cpython-312\horovod\ray
      copying horovod\ray\__init__.py -> build\lib.win-amd64-cpython-312\horovod\ray
      creating build\lib.win-amd64-cpython-312\horovod\runner
      copying horovod\runner\gloo_run.py -> build\lib.win-amd64-cpython-312\horovod\runner
      copying horovod\runner\js_run.py -> build\lib.win-amd64-cpython-312\horovod\runner
      copying horovod\runner\launch.py -> build\lib.win-amd64-cpython-312\horovod\runner
      copying horovod\runner\mpi_run.py -> build\lib.win-amd64-cpython-312\horovod\runner
      copying horovod\runner\run_task.py -> build\lib.win-amd64-cpython-312\horovod\runner
      copying horovod\runner\task_fn.py -> build\lib.win-amd64-cpython-312\horovod\runner
      copying horovod\runner\__init__.py -> build\lib.win-amd64-cpython-312\horovod\runner
      creating build\lib.win-amd64-cpython-312\horovod\spark
      copying horovod\spark\conf.py -> build\lib.win-amd64-cpython-312\horovod\spark
      copying horovod\spark\gloo_run.py -> build\lib.win-amd64-cpython-312\horovod\spark
      copying horovod\spark\mpi_run.py -> build\lib.win-amd64-cpython-312\horovod\spark
      copying horovod\spark\runner.py -> build\lib.win-amd64-cpython-312\horovod\spark
      copying horovod\spark\__init__.py -> build\lib.win-amd64-cpython-312\horovod\spark
      creating build\lib.win-amd64-cpython-312\horovod\tensorflow
      copying horovod\tensorflow\compression.py -> build\lib.win-amd64-cpython-312\horovod\tensorflow
      copying horovod\tensorflow\elastic.py -> build\lib.win-amd64-cpython-312\horovod\tensorflow
      copying horovod\tensorflow\functions.py -> build\lib.win-amd64-cpython-312\horovod\tensorflow
      copying horovod\tensorflow\gradient_aggregation.py -> build\lib.win-amd64-cpython-312\horovod\tensorflow
      copying horovod\tensorflow\gradient_aggregation_eager.py -> build\lib.win-amd64-cpython-312\horovod\tensorflow
      copying horovod\tensorflow\mpi_ops.py -> build\lib.win-amd64-cpython-312\horovod\tensorflow
      copying horovod\tensorflow\sync_batch_norm.py -> build\lib.win-amd64-cpython-312\horovod\tensorflow
      copying horovod\tensorflow\util.py -> build\lib.win-amd64-cpython-312\horovod\tensorflow
      copying horovod\tensorflow\__init__.py -> build\lib.win-amd64-cpython-312\horovod\tensorflow
      creating build\lib.win-amd64-cpython-312\horovod\torch
      copying horovod\torch\compression.py -> build\lib.win-amd64-cpython-312\horovod\torch
      copying horovod\torch\functions.py -> build\lib.win-amd64-cpython-312\horovod\torch
      copying horovod\torch\mpi_ops.py -> build\lib.win-amd64-cpython-312\horovod\torch
      copying horovod\torch\optimizer.py -> build\lib.win-amd64-cpython-312\horovod\torch
      copying horovod\torch\sync_batch_norm.py -> build\lib.win-amd64-cpython-312\horovod\torch
      copying horovod\torch\__init__.py -> build\lib.win-amd64-cpython-312\horovod\torch
      creating build\lib.win-amd64-cpython-312\horovod\_keras
      copying horovod\_keras\callbacks.py -> build\lib.win-amd64-cpython-312\horovod\_keras
      copying horovod\_keras\elastic.py -> build\lib.win-amd64-cpython-312\horovod\_keras
      copying horovod\_keras\__init__.py -> build\lib.win-amd64-cpython-312\horovod\_keras
      creating build\lib.win-amd64-cpython-312\horovod\runner\common
      copying horovod\runner\common\__init__.py -> build\lib.win-amd64-cpython-312\horovod\runner\common
      creating build\lib.win-amd64-cpython-312\horovod\runner\driver
      copying horovod\runner\driver\driver_service.py -> build\lib.win-amd64-cpython-312\horovod\runner\driver
      copying horovod\runner\driver\__init__.py -> build\lib.win-amd64-cpython-312\horovod\runner\driver
      creating build\lib.win-amd64-cpython-312\horovod\runner\elastic
      copying horovod\runner\elastic\constants.py -> build\lib.win-amd64-cpython-312\horovod\runner\elastic
      copying horovod\runner\elastic\discovery.py -> build\lib.win-amd64-cpython-312\horovod\runner\elastic
      copying horovod\runner\elastic\driver.py -> build\lib.win-amd64-cpython-312\horovod\runner\elastic
      copying horovod\runner\elastic\registration.py -> build\lib.win-amd64-cpython-312\horovod\runner\elastic
      copying horovod\runner\elastic\rendezvous.py -> build\lib.win-amd64-cpython-312\horovod\runner\elastic
      copying horovod\runner\elastic\settings.py -> build\lib.win-amd64-cpython-312\horovod\runner\elastic
      copying horovod\runner\elastic\worker.py -> build\lib.win-amd64-cpython-312\horovod\runner\elastic
      copying horovod\runner\elastic\__init__.py -> build\lib.win-amd64-cpython-312\horovod\runner\elastic
      creating build\lib.win-amd64-cpython-312\horovod\runner\http
      copying horovod\runner\http\http_client.py -> build\lib.win-amd64-cpython-312\horovod\runner\http
      copying horovod\runner\http\http_server.py -> build\lib.win-amd64-cpython-312\horovod\runner\http
      copying horovod\runner\http\__init__.py -> build\lib.win-amd64-cpython-312\horovod\runner\http
      creating build\lib.win-amd64-cpython-312\horovod\runner\task
      copying horovod\runner\task\task_service.py -> build\lib.win-amd64-cpython-312\horovod\runner\task
      copying horovod\runner\task\__init__.py -> build\lib.win-amd64-cpython-312\horovod\runner\task
      creating build\lib.win-amd64-cpython-312\horovod\runner\util
      copying horovod\runner\util\cache.py -> build\lib.win-amd64-cpython-312\horovod\runner\util
      copying horovod\runner\util\lsf.py -> build\lib.win-amd64-cpython-312\horovod\runner\util
      copying horovod\runner\util\network.py -> build\lib.win-amd64-cpython-312\horovod\runner\util
      copying horovod\runner\util\remote.py -> build\lib.win-amd64-cpython-312\horovod\runner\util
      copying horovod\runner\util\streams.py -> build\lib.win-amd64-cpython-312\horovod\runner\util
      copying horovod\runner\util\threads.py -> build\lib.win-amd64-cpython-312\horovod\runner\util
      copying horovod\runner\util\__init__.py -> build\lib.win-amd64-cpython-312\horovod\runner\util
      creating build\lib.win-amd64-cpython-312\horovod\runner\common\service
      copying horovod\runner\common\service\compute_service.py -> build\lib.win-amd64-cpython-312\horovod\runner\common\service
      copying horovod\runner\common\service\driver_service.py -> build\lib.win-amd64-cpython-312\horovod\runner\common\service
      copying horovod\runner\common\service\task_service.py -> build\lib.win-amd64-cpython-312\horovod\runner\common\service
      copying horovod\runner\common\service\__init__.py -> build\lib.win-amd64-cpython-312\horovod\runner\common\service
      creating build\lib.win-amd64-cpython-312\horovod\runner\common\util
      copying horovod\runner\common\util\codec.py -> build\lib.win-amd64-cpython-312\horovod\runner\common\util
      copying horovod\runner\common\util\config_parser.py -> build\lib.win-amd64-cpython-312\horovod\runner\common\util
      copying horovod\runner\common\util\env.py -> build\lib.win-amd64-cpython-312\horovod\runner\common\util
      copying horovod\runner\common\util\hosts.py -> build\lib.win-amd64-cpython-312\horovod\runner\common\util
      copying horovod\runner\common\util\host_hash.py -> build\lib.win-amd64-cpython-312\horovod\runner\common\util
      copying horovod\runner\common\util\network.py -> build\lib.win-amd64-cpython-312\horovod\runner\common\util
      copying horovod\runner\common\util\safe_shell_exec.py -> build\lib.win-amd64-cpython-312\horovod\runner\common\util
      copying horovod\runner\common\util\secret.py -> build\lib.win-amd64-cpython-312\horovod\runner\common\util
      copying horovod\runner\common\util\settings.py -> build\lib.win-amd64-cpython-312\horovod\runner\common\util
      copying horovod\runner\common\util\timeout.py -> build\lib.win-amd64-cpython-312\horovod\runner\common\util
      copying horovod\runner\common\util\tiny_shell_exec.py -> build\lib.win-amd64-cpython-312\horovod\runner\common\util
      copying horovod\runner\common\util\__init__.py -> build\lib.win-amd64-cpython-312\horovod\runner\common\util
      creating build\lib.win-amd64-cpython-312\horovod\spark\common
      copying horovod\spark\common\backend.py -> build\lib.win-amd64-cpython-312\horovod\spark\common
      copying horovod\spark\common\cache.py -> build\lib.win-amd64-cpython-312\horovod\spark\common
      copying horovod\spark\common\constants.py -> build\lib.win-amd64-cpython-312\horovod\spark\common
      copying horovod\spark\common\datamodule.py -> build\lib.win-amd64-cpython-312\horovod\spark\common
      copying horovod\spark\common\estimator.py -> build\lib.win-amd64-cpython-312\horovod\spark\common
      copying horovod\spark\common\params.py -> build\lib.win-amd64-cpython-312\horovod\spark\common
      copying horovod\spark\common\serialization.py -> build\lib.win-amd64-cpython-312\horovod\spark\common
      copying horovod\spark\common\store.py -> build\lib.win-amd64-cpython-312\horovod\spark\common
      copying horovod\spark\common\util.py -> build\lib.win-amd64-cpython-312\horovod\spark\common
      copying horovod\spark\common\_namedtuple_fix.py -> build\lib.win-amd64-cpython-312\horovod\spark\common
      copying horovod\spark\common\__init__.py -> build\lib.win-amd64-cpython-312\horovod\spark\common
      creating build\lib.win-amd64-cpython-312\horovod\spark\data_loaders
      copying horovod\spark\data_loaders\pytorch_data_loaders.py -> build\lib.win-amd64-cpython-312\horovod\spark\data_loaders
      copying horovod\spark\data_loaders\__init__.py -> build\lib.win-amd64-cpython-312\horovod\spark\data_loaders
      creating build\lib.win-amd64-cpython-312\horovod\spark\driver
      copying horovod\spark\driver\driver_service.py -> build\lib.win-amd64-cpython-312\horovod\spark\driver
      copying horovod\spark\driver\host_discovery.py -> build\lib.win-amd64-cpython-312\horovod\spark\driver
      copying horovod\spark\driver\job_id.py -> build\lib.win-amd64-cpython-312\horovod\spark\driver
      copying horovod\spark\driver\mpirun_rsh.py -> build\lib.win-amd64-cpython-312\horovod\spark\driver
      copying horovod\spark\driver\rendezvous.py -> build\lib.win-amd64-cpython-312\horovod\spark\driver
      copying horovod\spark\driver\rsh.py -> build\lib.win-amd64-cpython-312\horovod\spark\driver
      copying horovod\spark\driver\__init__.py -> build\lib.win-amd64-cpython-312\horovod\spark\driver
      creating build\lib.win-amd64-cpython-312\horovod\spark\keras
      copying horovod\spark\keras\bare.py -> build\lib.win-amd64-cpython-312\horovod\spark\keras
      copying horovod\spark\keras\datamodule.py -> build\lib.win-amd64-cpython-312\horovod\spark\keras
      copying horovod\spark\keras\estimator.py -> build\lib.win-amd64-cpython-312\horovod\spark\keras
      copying horovod\spark\keras\optimizer.py -> build\lib.win-amd64-cpython-312\horovod\spark\keras
      copying horovod\spark\keras\remote.py -> build\lib.win-amd64-cpython-312\horovod\spark\keras
      copying horovod\spark\keras\tensorflow.py -> build\lib.win-amd64-cpython-312\horovod\spark\keras
      copying horovod\spark\keras\util.py -> build\lib.win-amd64-cpython-312\horovod\spark\keras
      copying horovod\spark\keras\__init__.py -> build\lib.win-amd64-cpython-312\horovod\spark\keras
      creating build\lib.win-amd64-cpython-312\horovod\spark\lightning
      copying horovod\spark\lightning\datamodule.py -> build\lib.win-amd64-cpython-312\horovod\spark\lightning
      copying horovod\spark\lightning\estimator.py -> build\lib.win-amd64-cpython-312\horovod\spark\lightning
      copying horovod\spark\lightning\legacy.py -> build\lib.win-amd64-cpython-312\horovod\spark\lightning
      copying horovod\spark\lightning\remote.py -> build\lib.win-amd64-cpython-312\horovod\spark\lightning
      copying horovod\spark\lightning\util.py -> build\lib.win-amd64-cpython-312\horovod\spark\lightning
      copying horovod\spark\lightning\__init__.py -> build\lib.win-amd64-cpython-312\horovod\spark\lightning
      creating build\lib.win-amd64-cpython-312\horovod\spark\task
      copying horovod\spark\task\gloo_exec_fn.py -> build\lib.win-amd64-cpython-312\horovod\spark\task
      copying horovod\spark\task\mpirun_exec_fn.py -> build\lib.win-amd64-cpython-312\horovod\spark\task
      copying horovod\spark\task\task_info.py -> build\lib.win-amd64-cpython-312\horovod\spark\task
      copying horovod\spark\task\task_service.py -> build\lib.win-amd64-cpython-312\horovod\spark\task
      copying horovod\spark\task\__init__.py -> build\lib.win-amd64-cpython-312\horovod\spark\task
      creating build\lib.win-amd64-cpython-312\horovod\spark\tensorflow
      copying horovod\spark\tensorflow\compute_worker.py -> build\lib.win-amd64-cpython-312\horovod\spark\tensorflow
      copying horovod\spark\tensorflow\__init__.py -> build\lib.win-amd64-cpython-312\horovod\spark\tensorflow
      creating build\lib.win-amd64-cpython-312\horovod\spark\torch
      copying horovod\spark\torch\datamodule.py -> build\lib.win-amd64-cpython-312\horovod\spark\torch
      copying horovod\spark\torch\estimator.py -> build\lib.win-amd64-cpython-312\horovod\spark\torch
      copying horovod\spark\torch\remote.py -> build\lib.win-amd64-cpython-312\horovod\spark\torch
      copying horovod\spark\torch\util.py -> build\lib.win-amd64-cpython-312\horovod\spark\torch
      copying horovod\spark\torch\__init__.py -> build\lib.win-amd64-cpython-312\horovod\spark\torch
      creating build\lib.win-amd64-cpython-312\horovod\tensorflow\data
      copying horovod\tensorflow\data\compute_service.py -> build\lib.win-amd64-cpython-312\horovod\tensorflow\data
      copying horovod\tensorflow\data\compute_worker.py -> build\lib.win-amd64-cpython-312\horovod\tensorflow\data
      copying horovod\tensorflow\data\__init__.py -> build\lib.win-amd64-cpython-312\horovod\tensorflow\data
      creating build\lib.win-amd64-cpython-312\horovod\tensorflow\keras
      copying horovod\tensorflow\keras\callbacks.py -> build\lib.win-amd64-cpython-312\horovod\tensorflow\keras
      copying horovod\tensorflow\keras\elastic.py -> build\lib.win-amd64-cpython-312\horovod\tensorflow\keras
      copying horovod\tensorflow\keras\__init__.py -> build\lib.win-amd64-cpython-312\horovod\tensorflow\keras
      creating build\lib.win-amd64-cpython-312\horovod\torch\elastic
      copying horovod\torch\elastic\sampler.py -> build\lib.win-amd64-cpython-312\horovod\torch\elastic
      copying horovod\torch\elastic\state.py -> build\lib.win-amd64-cpython-312\horovod\torch\elastic
      copying horovod\torch\elastic\__init__.py -> build\lib.win-amd64-cpython-312\horovod\torch\elastic
      running build_ext
      Could not find a recent CMake to build Horovod. Attempting to install CMake 3.13 to a temporary location via pip.
        error: subprocess-exited-with-error

        python setup.py egg_info did not run successfully.
        exit code: 1

        [8 lines of output]
        C:\Users\dawid\AppData\Local\Temp\pip-install-qr8mcrpd\cmake_c924d6c33f4249718182295d27aba8a3\versioneer.py:418: SyntaxWarning: invalid escape sequence '\s'
          LONG_VERSION_PY['git'] = '''
        Traceback (most recent call last):
          File "<string>", line 2, in <module>
          File "<pip-setuptools-caller>", line 34, in <module>
          File "C:\Users\dawid\AppData\Local\Temp\pip-install-qr8mcrpd\cmake_c924d6c33f4249718182295d27aba8a3\setup.py", line 7, in <module>
            from skbuild import setup
        ModuleNotFoundError: No module named 'skbuild'
        [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.
      Traceback (most recent call last):
        File "C:\Users\dawid\AppData\Local\Temp\pip-install-gh1hv4lw\horovod_1ee19882475c4e96b82d9fa1ff0f56d8\setup.py", line 86, in get_cmake_bin
          _ = subprocess.check_output(["pip", "install", "--target", cmake_temp_dir.name, "cmake~=3.13.0"])
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        File "C:\Program Files\Python312\Lib\subprocess.py", line 466, in check_output
          return run(*popenargs, stdout=PIPE, timeout=timeout, check=True,
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        File "C:\Program Files\Python312\Lib\subprocess.py", line 571, in run
          raise CalledProcessError(retcode, process.args,
      subprocess.CalledProcessError: Command '['pip', 'install', '--target', 'C:\\Users\\dawid\\AppData\\Local\\Temp\\horovod-cmake-tmp0czbjeu9', 'cmake~=3.13.0']' returned non-zero exit status 1.

      During handling of the above exception, another exception occurred:

      Traceback (most recent call last):
        File "<string>", line 2, in <module>
        File "<pip-setuptools-caller>", line 34, in <module>
        File "C:\Users\dawid\AppData\Local\Temp\pip-install-gh1hv4lw\horovod_1ee19882475c4e96b82d9fa1ff0f56d8\setup.py", line 213, in <module>
          setup(name='horovod',
        File "C:\Program Files\Python312\Lib\site-packages\setuptools\__init__.py", line 117, in setup
          return distutils.core.setup(**attrs)
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        File "C:\Program Files\Python312\Lib\site-packages\setuptools\_distutils\core.py", line 183, in setup
          return run_commands(dist)
                 ^^^^^^^^^^^^^^^^^^
        File "C:\Program Files\Python312\Lib\site-packages\setuptools\_distutils\core.py", line 199, in run_commands
          dist.run_commands()
        File "C:\Program Files\Python312\Lib\site-packages\setuptools\_distutils\dist.py", line 954, in run_commands
          self.run_command(cmd)
        File "C:\Program Files\Python312\Lib\site-packages\setuptools\dist.py", line 991, in run_command
          super().run_command(command)
        File "C:\Program Files\Python312\Lib\site-packages\setuptools\_distutils\dist.py", line 973, in run_command
          cmd_obj.run()
        File "C:\Program Files\Python312\Lib\site-packages\setuptools\command\bdist_wheel.py", line 407, in run
          self.run_command("build")
        File "C:\Program Files\Python312\Lib\site-packages\setuptools\_distutils\cmd.py", line 316, in run_command
          self.distribution.run_command(command)
        File "C:\Program Files\Python312\Lib\site-packages\setuptools\dist.py", line 991, in run_command
          super().run_command(command)
        File "C:\Program Files\Python312\Lib\site-packages\setuptools\_distutils\dist.py", line 973, in run_command
          cmd_obj.run()
        File "C:\Program Files\Python312\Lib\site-packages\setuptools\_distutils\command\build.py", line 135, in run
          self.run_command(cmd_name)
        File "C:\Program Files\Python312\Lib\site-packages\setuptools\_distutils\cmd.py", line 316, in run_command
          self.distribution.run_command(command)
        File "C:\Program Files\Python312\Lib\site-packages\setuptools\dist.py", line 991, in run_command
          super().run_command(command)
        File "C:\Program Files\Python312\Lib\site-packages\setuptools\_distutils\dist.py", line 973, in run_command
          cmd_obj.run()
        File "C:\Program Files\Python312\Lib\site-packages\setuptools\command\build_ext.py", line 98, in run
          _build_ext.run(self)
        File "C:\Program Files\Python312\Lib\site-packages\setuptools\_distutils\command\build_ext.py", line 359, in run
          self.build_extensions()
        File "C:\Users\dawid\AppData\Local\Temp\pip-install-gh1hv4lw\horovod_1ee19882475c4e96b82d9fa1ff0f56d8\setup.py", line 106, in build_extensions
          cmake_bin = get_cmake_bin()
                      ^^^^^^^^^^^^^^^
        File "C:\Users\dawid\AppData\Local\Temp\pip-install-gh1hv4lw\horovod_1ee19882475c4e96b82d9fa1ff0f56d8\setup.py", line 88, in get_cmake_bin
          raise RuntimeError("Failed to install temporary CMake. "
      RuntimeError: Failed to install temporary CMake. Please update your CMake to 3.13+ or set HOROVOD_CMAKE appropriately.
      [end of output]

  note: This error originates from a subprocess, and is likely not a problem with pip.
  ERROR: Failed building wheel for horovod
  Running setup.py clean for horovod
Failed to build horovod
ERROR: ERROR: Failed to build installable wheels for some pyproject.toml based projects (horovod)

C:\Users\dawid>