pythonpip

KeyError: 'VERSION' issue with pip installing catboost on python 3.13.1


I am working on this ml project and I need to install catboost and xgboost using pip. the xgboost got installed successfully but catboost keeps giving the same error:

(venv) D:\ML bootcamp\mlproject>pip install catboost        
Collecting catboost
  Using cached catboost-1.2.7.tar.gz (71.5 MB)
  Installing build dependencies ... done
  Getting requirements to build wheel ... error
  error: subprocess-exited-with-error

  × Getting requirements to build wheel did not run successfully.
  │ exit code: 1
  ╰─> [24 lines of output]
      Traceback (most recent call last):
        File "D:\ML bootcamp\mlproject\venv\Lib\site-packages\pip\_vendor\pyproject_hooks\_in_process\_in_process.py", line 389, in <module>
          main()
          ~~~~^^
        File "D:\ML bootcamp\mlproject\venv\Lib\site-packages\pip\_vendor\pyproject_hooks\_in_process\_in_process.py", line 373, in main
          json_out["return_val"] = hook(**hook_input["kwargs"])
                                   ~~~~^^^^^^^^^^^^^^^^^^^^^^^^
        File "D:\ML bootcamp\mlproject\venv\Lib\site-packages\pip\_vendor\pyproject_hooks\_in_process\_in_process.py", line 143, in get_requires_for_build_wheel
          return hook(config_settings)
        File "C:\Users\Administrator\AppData\Local\Temp\pip-build-env-xzdiplgy\overlay\Lib\site-packages\setuptools\build_meta.py", line 334, in get_requires_for_build_wheel       
          return self._get_build_requires(config_settings, requirements=[])
                 ~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        File "C:\Users\Administrator\AppData\Local\Temp\pip-build-env-xzdiplgy\overlay\Lib\site-packages\setuptools\build_meta.py", line 304, in _get_build_requires
          self.run_setup()
          ~~~~~~~~~~~~~~^^
        File "C:\Users\Administrator\AppData\Local\Temp\pip-build-env-xzdiplgy\overlay\Lib\site-packages\setuptools\build_meta.py", line 522, in run_setup
          super().run_setup(setup_script=setup_script)      
          ~~~~^^^^^^^^^^^^^^^^
        File "<string>", line 733, in <module>
        File "<string>", line 205, in get_catboost_version
      KeyError: 'VERSION'
      [end of output]

  note: This error originates from a subprocess, and is likely not a problem with pip.
error: subprocess-exited-with-error

× Getting requirements to build wheel 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.

I have tried what I could, but I don't know what else to do to fix this. Please let me know if someone knows the solution to this.


Solution

  • According to the catboost installation docs

    CatBoost Python package supports only CPython Python implementation with versions < 3.13. Version 3.13.x support is in progress.

    Source: https://catboost.ai/docs/en/concepts/python-installation

    There is also an open issue for this on their github repo:

    https://github.com/catboost/catboost/issues/2748


    A possible solution would be to use a version of python that catboost currently supports. e.g. 3.12.x