CiaranWelsh/pycotools

Pycotools using deprecated sklearn rather than successor scikit-learn

Opened this issue · 1 comments

Using Python 2.10.13 on Windows.

PS> pip install pycotools
...
Collecting sklearn (from pycotools)
  Downloading sklearn-0.0.post11.tar.gz (3.6 kB)
  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
  ╰─> [18 lines of output]
      The 'sklearn' PyPI package is deprecated, use 'scikit-learn'
      rather than 'sklearn' for pip commands.

      Here is how to fix this error in the main use cases:
      - 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

      More information is available at
      https://github.com/scikit-learn/sklearn-pypi-package

      If the previous advice does not cover your use case, feel free to report it at
      https://github.com/scikit-learn/sklearn-pypi-package/issues/new
      [end of output]

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

I'm gradually figuring out how to overcome this as I want to use it in my thesis. I'm having more luck in Ubuntu than Windows. I've tried pretty much everything including searching for all instances of sklearn and replacing with scikit-learn. Seems the only way is to force install sklearn -

You need the correct version of python i.e. for pycotools3 if Anaconda is installed -
Note - May not need to install Python 3 in Ubuntu

conda create -n py3 python=3.*
conda activate py3

SKLEARN_ALLOW_DEPRECATED_SKLEARN_PACKAGE_INSTALL=True

Force install the only working version of sklearn -

pip install sklearn==0.0

Think you need this also-

pip install dill==0.3.7

Test with -

import pycotools3
pycotools3 --version