2012-07-13 16 views
8

Intenté instalar scikit-learn en mi Linux Mint 12 pero fallé. He descargado el paquete de http://pypi.python.org/pypi/scikit-learn/ e instalado conNo se puede importar Scikit-Learn

sudo python2.7 setup.py install 

luego cambié el directorio a casa y empecé cáscara python2.7. Al importar sklearn, obtuve:

>>> import sklearn 
/usr/lib/python2.7/dist-packages/scipy/spatial/__init__.py:7: RuntimeWarning: 
numpy.dtype size changed, may indicate binary incompatibility 
    from ckdtree import * 
/usr/lib/python2.7/dist-packages/scipy/spatial/__init__.py:7: RuntimeWarning: 
numpy.ndarray size changed, may indicate binary incompatibility 
    from ckdtree import * 
/usr/lib/python2.7/dist-packages/scipy/spatial/__init__.py:7: RuntimeWarning: 
numpy.ufunc size changed, may indicate binary incompatibility 
    from ckdtree import * 
/usr/lib/python2.7/dist-packages/scipy/spatial/__init__.py:8: RuntimeWarning: 
numpy.dtype size changed, may indicate binary incompatibility 
    from qhull import * 
/usr/lib/python2.7/dist-packages/scipy/spatial/__init__.py:8: RuntimeWarning: 
numpy.ndarray size changed, may indicate binary incompatibility 
    from qhull import * 
/usr/lib/python2.7/dist-packages/scipy/spatial/__init__.py:8: RuntimeWarning: 
numpy.ufunc size changed, may indicate binary incompatibility 
    from qhull import * 

Creo que el problema está en el espacial de scipy. Esto es porque cuando lo hago

>>> from scipy import spatial 

Me sale el mismo error que obtengo para Scikit-learn.

Por favor ayuda. Gracias.

EDIT: error nuevo.

>>> import sklearn 
Traceback (most recent call last): 
    File "<stdin>", line 1, in <module> 
    File "/usr/local/lib/python2.7/dist-packages/scikit_learn-0.12_git-py2.7-linux- 
x86_64.egg/sklearn/__init__.py", line 17, in <module> 
    from .base import clone 
    File "/usr/local/lib/python2.7/dist-packages/scikit_learn-0.12_git-py2.7-linux- 
x86_64.egg/sklearn/base.py", line 11, in <module> 
    from .metrics import r2_score 
    File "/usr/local/lib/python2.7/dist-packages/scikit_learn-0.12_git-py2.7-linux- 
x86_64.egg/sklearn/metrics/__init__.py", line 6, in <module> 
    from .metrics import confusion_matrix, roc_curve, auc, precision_score, \ 
    File "/usr/local/lib/python2.7/dist-packages/scikit_learn-0.12_git-py2.7-linux- 
x86_64.egg/sklearn/metrics/metrics.py", line 17, in <module> 
    from ..utils import check_arrays 
    File "/usr/local/lib/python2.7/dist-packages/scikit_learn-0.12_git-py2.7-linux- 
x86_64.egg/sklearn/utils/__init__.py", line 9, in <module> 
    from .murmurhash import murmurhash3_32 
    File "numpy.pxd", line 174, in init sklearn.utils.murmurhash (sklearn/utils 
/murmurhash.c:4776) 
ValueError: numpy.ndarray has the wrong size, try recompiling 

Respuesta

8

No estoy muy seguro, pero de acuerdo con this sucede que cuando un paquete de error que depende de la orientación numpy se compila una versión específica (o una plataforma específica), y que a continuación, el paquete se instala en un diferente ambiente. ¿Cómo instalaste esos dos paquetes? (numpy and scipy)

Sugiero desinstalar ambos y luego reinstalar SciPy, ya sea using pip o from source.

+0

Gracias mgibsonbr. Reinstalé scipy y numpy de la fuente. Después de eso 'from scipy import spatial' no dio ningún error. Pero, al importar sklearn, recibo un error diferente. Estoy escribiendo el error anterior. – Rishi

+1

Instalé scikit-learn nuevamente con 'pip install -U scikit-learn' y después de eso la importación funcionó. Gracias. :) – Rishi

+0

@Rishi Eso no funcionó para mí. Sigo recibiendo '/usr/local/lib/python2.7/dist-packages/scipy/spatial/__init__.py:91: RuntimeWarning: numpy.ufunc size changed, puede indicar una incompatibilidad binaria de .qhull import *' –

1

Me encontré con esto hoy en OS X El Capitán. Desafortunadamente, la reinstalación/instalación no funcionó, ya que el problema terminó siendo que la instalación numpy nativa de OS X era preferible a la instalación de pip.

que era capaz de resolver esto siguiendo la guía en: https://apple.stackexchange.com/a/223163

En particular, he utilizado el método de fijar la ruta de pitón a preferir las bibliotecas de pepita sobre bibliotecas nativas OS X:

Crear un archivo fix_mac_path.pth llamada en /Library/Python/2.7/site-packages que producen los siguientes:

import sys; std_paths=[p for p in sys.path if p.startswith('/System/')]; sys.path=[p for p in sys.path if not p.startswith('/System/')]+std_paths

Cuestiones relacionadas