55
votes

On OS X 10.11.6 and python 2.7.10 I need to import from sklearn manifold. I have numpy 1.8 Orc1, scipy .13 Ob1 and scikit-learn 0.17.1 installed.
I used pip to install sklearn(0.0), but when I try to import from sklearn manifold I get the following:

Traceback (most recent call last): File "", line 1, in File "/Library/Python/2.7/site-packages/sklearn/init.py", line 57, in from .base import clone File "/Library/Python/2.7/site-packages/sklearn/base.py", line 11, in from .utils.fixes import signature File "/Library/Python/2.7/site-packages/sklearn/utils/init.py", line 10, in from .murmurhash import murmurhash3_32 File "numpy.pxd", line 155, in init sklearn.utils.murmurhash (sklearn/utils/murmurhash.c:5029) ValueError: numpy.dtype has the wrong size, try recompiling.

What is the difference between scikit-learn and sklearn? Also, I cant import scikit-learn because of a syntax error

2

2 Answers

56
votes

You might need to reinstall numpy. It doesn't seem to have installed correctly.

sklearn is how you type the scikit-learn name in python.

Also, try running the standard tests in scikit-learn and check the output. You will have detailed error information there.

Do you have nosetests installed? Try: nosetests -v sklearn. You type this in bash, not in the python interpreter.

64
votes

Regarding the difference sklearn vs. scikit-learn: The package "scikit-learn" is recommended to be installed using pip install scikit-learn but in your code imported using import sklearn.

A bit confusing, because you can also do pip install sklearn and will end up with the same scikit-learn package installed, because there is a "dummy" pypi package sklearn which will install scikit-learn for you.

From this thread:

scikit-learn is in install_requires of sklearn setup.py so you do end-up with scikit-learn installed

So:

At the end, pip install sklearn or pip install scikit-learn --- apart from the annoying sklearn (0.0) showed in the pip list --- will install the latest available build from PyPI.