I'm trying to install scikit-surprise by using python -m pip install --no-use-pep517 scikit-surprise but I keep getting this errors:

 error: subprocess-exited-with-error

  × python setup.py bdist_wheel did not run successfully.
  │ exit code: 1
  ╰─> [129 lines of output]

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

Package 'surprise.prediction_algorithms' is absent from the `packages` configuration.
      !!

              ********************************************************************************
              ############################
              # Package would be ignored #
              ############################
              Python recognizes 'surprise.prediction_algorithms' as an importable package[^1],
              but it is absent from setuptools' `packages` configuration.

              This leads to an ambiguous overall configuration. If you want to distribute this
              package, please make sure that 'surprise.prediction_algorithms' is explicitly added
              to the `packages` configuration field.

              Alternatively, you can also rely on setuptools' discovery methods
              (for example by using `find_namespace_packages(...)`/`find_namespace:`
              instead of `find_packages(...)`/`find:`).

              You can read more about "package discovery" on setuptools documentation page:

              - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html

              If you don't want 'surprise.prediction_algorithms' to be distributed and are
              already explicitly excluding 'surprise.prediction_algorithms' via
              `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`,
              you can try to use `exclude_package_data`, or `include-package-data=False` in
              combination with a more fine grained `package-data` configuration.

              You can read more about "package data files" on setuptools documentation page:

              - https://setuptools.pypa.io/en/latest/userguide/datafiles.html


              [^1]: For Python, any directory (with suitable naming) can be imported,
                    even if it does not contain any `.py` files.
                    On the other hand, currently there is no concept of package data
                    directory, all directories are treated like packages.
              ********************************************************************************
note: This error originates from a subprocess, and is likely not a problem with pip.
  ERROR: Failed building wheel for scikit-surprise
  Running setup.py clean for scikit-surprise
Failed to build scikit-surprise
ERROR: Could not build wheels for scikit-surprise, which is required to install pyproject.toml-based projects

What I have tried:

  • My original python version was 3.10 but I thought it was outdated so I updated it to the latest version to python 3.12
  • Updating pip/Vscode/setuptools/wheels
  • Made sure that Microsoft Visual C++ 14.0 or greater
  • Tried to follow the instructions in the error
  • Tried using conda but failed.

I'm still not sure what to do. What is the error and how to fix it?

0

There are 0 best solutions below