Search code examples
pythonscikit-learnpipgoogle-colaboratory

Error installing Mesh-to-SDF using pip in Python


I am trying to install Mesh-to-SDF but I get an error that I believe is related to installing scikit-learn (sklearn).

!pip install mesh-to-sdf

and the error is:

Collecting mesh-to-sdf
  Using cached mesh_to_sdf-0.0.14-py3-none-any.whl (14 kB)
Collecting pyrender
  Using cached pyrender-0.1.45-py3-none-any.whl (1.2 MB)
Collecting scikit-image
  Using cached scikit_image-0.22.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (14.7 MB)
Collecting sklearn
  Using cached sklearn-0.0.post12.tar.gz (2.6 kB)
  error: subprocess-exited-with-error
  
  × python setup.py egg_info 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.
  Preparing metadata (setup.py) ... error
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.

Solution

  • Like you rightly guessed, the error originates here Collecting sklearn Using cached sklearn-0.0.post12.tar.gz (2.6 kB) error: subprocess-exited-with-error as contained in your Stack Trace. A similar issue was reported here. You may want to install these separately. Here is how to fix this error as referenced there:

    • use 'pip install scikit-learn' rather than 'pip install sklearn'
    • replace 'sklearn' by 'scikit-learn' in your pip requirements files (requirements.txt, setup.py, setup.cfg, Pipfile, etc ...)
    • if the 'sklearn' package is used by one of your dependencies, it would be great if you take some time to track which package uses 'sklearn' instead of 'scikit-learn' and report it to their issue tracker.
    • as a last resort, set the environment variable SKLEARN_ALLOW_DEPRECATED_SKLEARN_PACKAGE_INSTALL=True to avoid this error.