Cannot import scikits-learn even though it seems to be installed
Solution 1
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.
Nowadays, for dependency management of Python data engineering libraries like scikit, I'm happy with just using conda and pyenv.
Solution 2
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
Solution 3
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.
Alan
I have over 20 years of experience as a software craftsman specializing in back end development, across a broad variety of verticals such as integrated circuit development, research laboratories, media industry, government and eCommerce. I have international experience working with clients in the US, Canada and Asia. I like leveraging technology so that business stakeholders solve their business problems. I've forgotten technologies such as EJB 2.0, Pascal, Perl, BASIC, Matlab, and GBIP.
Updated on March 03, 2021Comments
-
Alan about 3 years
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 anImportError: 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.