Modulenotfounderror no module named sklearn in Python

Fix the no module named sklearn error in Python

You receive the modulenotfounderror for sklearn when trying to invoke scikit-learn or one of its methods before installing it on your Python development environment. Use conda (for Anaconda environments) or pip to install the scikit-learn library on your development environment and then go ahead and import the library modules into your Python program.

Why the modulenotfound error for scikit-learn is displayed?

Scikit learn is a third party library that is not part of the Python standard library. You will receive the error if invoking scikit-learn modules such as line_model.logistic, cross_validation, utils, externals and so forth before installing scikit learn in your Python environment.

When you try to invoke a scikit-learn in Jupyter (or other IDE such as PyCharm, Spyder, VS Code, Google Colab etc’) without properly installing the library, you will receive an error:

from sklearn import linear_model
liner_reg = linear_model.LinearRegression()

Fixing the error

Manually configured environments / virtual environments (virtualenvs):
  • Save your program / notebook.
  • Invoke terminal or the command prompt.
  • In the terminal / command prompt navigate to your Python installation directory (location of python.exe).
  • Invoke the Python Package Manager (pip) to install scikit-learn:
pip install sklearn
  • Package will be collected and installed.
  • Once finished, open your Python IDE or return to your Notebook and import your sklearn module.

Conda environments

If you are using Miniconda or Anaconda distributions:

  • Open the terminal (or on Windows, the Anaconda Prompt).
  • Activate your conda environment by typing
conda activate <path_to_your_conda_env>
  • Then install sklearn:
conda install sklearn
  • Last, reopen your Python script or Notebook and import the scikit library

Follow up learning

How to solve the no module named error in Python for Windows and macOS?