Error Scipy: el tamaño del numpy.dtype ha cambiado, puede indicar incompatibilidad binaria (y comportamiento extraño asociado)

Estoy instalando numpy / scipy / scikit-learn en OS X 10.9.4, y obtengo errores sobre el “cambio de tamaño de numpy.dtype, puede indicar incompatibilidad binaria”.

Esto es lo que hice para construir el repository:

mkvirtualenv thm workon thm pip install numpy scipy pandas ipython # and some other stuff cd /path/to/our/repo # run tests 

Aquí hay un extracto de una advertencia relevante (se convirtió en un error porque usamos warnings.simplefilter('error') al comienzo de nuestras pruebas):

 ====================================================================== ERROR: Failure: RuntimeWarning (numpy.dtype size changed, may indicate binary in compatibility) ---------------------------------------------------------------------- Traceback (most recent call last): File "/Users/ben/.virtualenvs/thm/lib/python2.7/site-packages/nose/loader.py", line 414, in loadTestsFromName addr.filename, addr.module) File "/Users/ben/.virtualenvs/thm/lib/python2.7/site-packages/nose/importer.py ", line 47, in importFromPath return self.importFromDir(dir_path, fqname) File "/Users/ben/.virtualenvs/thm/lib/python2.7/site-packages/nose/importer.py ", line 94, in importFromDir mod = load_module(part_fqname, fh, filename, desc) File "/Users/ben/code/thm/alpha/prosper/base/stats/test_auc.py", line 3, in  import sklearn.metrics File "/Users/ben/.virtualenvs/thm/lib/python2.7/site-packages/sklearn/metrics/ __init__.py", line 6, in  from .metrics import (accuracy_score, File "/Users/ben/.virtualenvs/thm/lib/python2.7/site-packages/sklearn/metrics/metrics.py", line 27, in  from scipy.spatial.distance import hamming as sp_hamming File "/Users/ben/.virtualenvs/thm/lib/python2.7/site-packages/scipy/spatial/__init__.py", line 90, in  from .ckdtree import * File "__init__.pxd", line 155, in init scipy.spatial.ckdtree (scipy/spatial/ckdtree.c:20570) RuntimeWarning: numpy.dtype size changed, may indicate binary incompatibility 

Me dicen que esta advertencia se debe a que scipy se comstack contra una versión de numpy diferente a la instalada. Sin embargo, los instalé todos con pip en lo que pensé que era una forma bastante estándar, así que esto no debería ser un problema, creo.

Extrañamente, aunque ejecutar todo nuestro conjunto de pruebas como un todo (a través de python -m unittest discover ) da estos errores, ejecutar las pruebas individuales (a través de python -m unittest ) funciona bien.

Según las pruebas, aquí hay alguna información relevante de la versión:

 numpy version 1.9.0 (rev 07601a64cdfeb1c0247bde1294ad6380413cab66) scipy version 0.14.0 (built against numpy 1.9.0) sklearn version 0.15.2 pandas version 0.14.1 

Feliz de proporcionar más información a petición!

¿Cómo construiste sklearn 0.14.1? ¿Lo construiste contra la misma versión de numpy que hiciste para scipy?

Las versiones recientes de scikit-learn, scipy y numpy tienen paquetes precomstackdos. En particular, scikit-learn 0.15.2 debe ser compatible con binarios con numpy 1.7+. Creo que lo mismo ocurre con scipy 0.14.0 pero dijiste que lo creaste tú mismo desde la fuente, que no es lo que debería hacer pip por defecto (solo debería instalar el paquete whl precomstackdo).

Edit : has intentado hacer:

 pip install -U scipy scikit-learn pandas 

para asegurarse de que está utilizando las últimas versiones estables del whl para esos paquetes?

Edición : El comentario a continuación tiene la respuesta real que funciona y es probablemente la razón por la que se aceptó esta respuesta. A saber:

 pip uninstall -y scipy scikit-learn pip install --no-binary scipy scikit-learn