Cannot import scikits-learn even though it seems to be installed

Question:

Per the scikit-learn user guide, I installed scikit-learn using pip install -U scikit-learn.

So using pip search scikit-learn, I get this search result:

scikit-learn - A set of python modules for machine learning and data mining
INSTALLED: 0.12.1 (latest)

But when I go into Python and try to import sklearn, I get an ImportError: No module named sklearn. This really should have just worked.

I am using Enthought’s free distribution of Python (2.7.3) on a Mac OS 10.6.8 with NumPy 1.6.1 and SciPy 0.10.1. Yes, I’m aware that EPD Free comes with scikit-learn but pip should have upgraded my version so that I can actually use scikit-learn.

Asked By: Alan

||

Answers:

Thanks folks (see comment thread under the question)! It turns out that I have two versions of Python under my Mac’s /Library/Frameworks/Python.framework directory tree: 2.7 (came with OSX) and 7.3 (installed by EPD Free).

It turns out pip put scikit-learn under 2.7 when I really wanted it under 7.3.

Changing directories to site-packages under the desired version of Python, and invoking pip install -t . {package-name} suffices to install package-name under the desired version of Python.

POSTLUDE (Feb 2021):
Looking back on this question from almost 9 years ago, I think I was running into a version of this XKCD comic.

dependency management hell in python

Nowadays, for dependency management of Python data engineering libraries like scikit, I’m happy with just using conda and pyenv.

Answered By: Alan

Got same problem, @Alan gave correct solution but hard way.
Here are easy steps to resolve issue, as i am on mac osx, giving steps for same.

Ameys-Mac-mini:~ amey$ python --version
Python 2.7.2
Ameys-Mac-mini:~ amey$ cd /Library/Python/2.7/site-packages/
Ameys-Mac-mini:site-packages amey$ brew install gcc
Ameys-Mac-mini:site-packages amey$ sudo pip install -t . numpy scipy scikit-learn 
Answered By: Amey Jadiye

In my case, my python extension has installed all in

/Library/Python/2.7/site-packages/ 

After I use the command given by the official site

pip install -U numpy scipy scikit-learn

the scikit-learn package was actually installed in my

/usr/local/lib/python2.7/site-packages

So I copied all the packages in second to the first directory, then I can import the sklearn package.

Answered By: zinc

For future reference:

easy_install -U statsmodels

Answered By: Kacper Wikieł

I had the same issue and I could figure out that python versions were different. I followed this answer.

On Zeppelin page, go to the settings, Intepreter settings and change your python to python3.

Answered By: pnv
Categories: questions Tags: , ,
Answers are sorted by their score. The answer accepted by the question owner as the best is marked with
at the top-right corner.