Skip to main content

deprecated sklearn package, use scikit-learn instead

Project description

⚠️⚠️⚠️ Summary ⚠️⚠️⚠️

⚠️⚠️⚠️ The sklearn PyPI package is deprecated use scikit-learn instead ⚠️⚠️⚠️

How to fix the error for 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

Reason for the deprecation

sklearn package on PyPI exists to prevent malicious actors from using the sklearn package, since sklearn (the import name) and scikit-learn (the project name) are sometimes used interchangeably. scikit-learn is the actual package name and should be used with pip, e.g. for:

  • pip commands: pip install scikit-learn
  • pip requirement files (requirements.txt, setup.py, setup.cfg, Pipfile, etc ...)

At the time of writing (October 2022) sklearn downloads is about 1/5 of the scikit-learn downloads on PyPI so a lot of people are using it.

There are some edge cases with the way the PyPI sklearn package is implemented:

  • pip install sklearn==1.1.3 will say that the 1.1.3 version does not exist, which is confusing. The only available version at the time of writing of sklearn is 0.0.
  • pip uninstall sklearn will actually not uninstall scikit-learn, you can still do import sklearn afterwards
  • it can be confusing to have both sklearn and scikit-learn in the pip list output, prompting questions like "why do I have scikit-learn 1.1.3 and sklearn 0.0, and what does it even mean"?

Historical brownout schedule

Starting 2023 December 1st, trying to install the sklearn PyPI package will raise an error.

The following table shows the historical brownout schedule that was used between 2022 December 1st and 2023 December 1st, in order to get more people aware of the deprecation.

Dates Window(s)
2022 December 1st - 2023 January 31st :00-:05 every hour
2023 February 1st - March 31st :00-:10 every hour
2023 April 1st - May 31st :00-:15 every hour
2023 June 1st - July 31st :00-:10 and :30-:40 every hour
2023 August 1st - September 30th :00-:15 and :30-:45 every hour
2023 October 1st - November 30th :00-:20 and :30-:50 every hour
2023 December 1st onwards always raise an exception

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

sklearn-0.0.post12.tar.gz (2.6 kB view details)

Uploaded Source

File details

Details for the file sklearn-0.0.post12.tar.gz.

File metadata

  • Download URL: sklearn-0.0.post12.tar.gz
  • Upload date:
  • Size: 2.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.4

File hashes

Hashes for sklearn-0.0.post12.tar.gz
Algorithm Hash digest
SHA256 54cff9e20839b7b202321178228af4d9388bedf78425d9299fd9ee170d68802e
MD5 58a7624648e854318beb9c17d6521bc8
BLAKE2b-256 461c395a83ee7b2d2ad7a05b453872053d41449564477c81dc356f720b16eac4

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page