2014-09-26 11 views
12

Durante l'importazione di panda che avrei avuto il seguente errore:Numpy.dtype ha la dimensione sbagliata, provare a ricompilare

Numpy.dtype has the wrong size, try recompiling

Sono in esecuzione Python 2.7.5, con Panda 0.14.1, e Numpy 1.9. 0. Ho provato ad installare versioni precedenti di entrambi usando pip, con errori importanti ogni volta. Sono un principiante quando si tratta di Python quindi qualsiasi aiuto qui sarebbe molto apprezzato. :)

EDIT: con OS X 10.9.4

EDIT 2: ecco un link a un video di me a disinstallare e reinstallare Numpy + Panda, e quindi eseguire un file .py: https://www.dropbox.com/s/sx9l288jijokrar/numpy%20issue.mov?dl=0

+0

cosa stai usando? –

+0

Sto usando OSX 10.9.4 –

+0

hai installato panda prima di aggiornare numpy? –

risposta

19

Ho già visto questo errore e in genere ha a che fare con i panda che fanno riferimento a una vecchia versione di numpy. Ma reinstallare potrebbe non essere d'aiuto se il tuo percorso python punta ancora a una vecchia versione di numpy.

Quando installi numpy tramite pip, pip ti dirà dove è stato installato. Qualcosa come

pip install numpy==1.9.2 
Requirement already satisfied (use --upgrade to upgrade): numpy==1.9.2 in /Library/Python/2.7/site-packages 
Cleaning up... 

Quindi hai installato la versione corretta di numpy. Ma quando vai in python

$ python 
Python 2.7.6 (default, Sep 9 2014, 15:04:36) 
[GCC 4.2.1 Compatible Apple LLVM 6.0 (clang-600.0.39)] on darwin 
Type "help", "copyright", "credits" or "license" for more information. 
>>> import numpy 
>>> numpy.__file__ 
'/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/numpy/__init__.pyc' 
>>> numpy.version.version 
'1.8.0rc1' 

Il tuo percorso potrebbe puntare a un diverso numpy.

soluzione più semplice che ho trovato per questo è semplicemente quello di rimuovere la versione indesiderata di NumPy (spostandolo in una cartella _bak per la sicurezza)

mv /System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/numpy /System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/numpy_bak 

Ed ora quando inizio pitone

$ python 
Python 2.7.6 (default, Sep 9 2014, 15:04:36) 
[GCC 4.2.1 Compatible Apple LLVM 6.0 (clang-600.0.39)] on darwin 
Type "help", "copyright", "credits" or "license" for more information. 
>>> import numpy 
>>> numpy.__file__ 
'/Library/Python/2.7/site-packages/numpy/__init__.pyc' 
>>> numpy.version.version 
'1.9.2' 

Ho la versione che voglio.

Per flussi di lavoro più complessi in cui applicazioni diverse potrebbero richiedere versioni diverse di vari pacchetti, i virtualenv sono un ottimo modo per andare a http://docs.python-guide.org/en/latest/dev/virtualenvs/. Ma penso che per il tuo caso in cui vuoi solo che i panda e i numpy giochino bene, questo approccio dovrebbe funzionare bene.

+0

Grazie per aver risolto il problema anche per me! Non ho davvero idea del perché la mia distribuzione python abbia usato il numpy della distribuzione python dei sistemi operativi. Tuttavia, ora funziona. – ndrizza

+0

Grazie. Ha funzionato per me. – Neil

3

Ho ricevuto lo stesso errore. Ho risolto eliminando il numpy esistente e reinstallandolo di nuovo.

pip uninstall numpy #it will remove older version of numpy on your computer 
pip install numpy #it will install recent version of numpy 

In realtà non ho idea del perché funzioni. Ho appena cambiato la versione numpy.

2

si dovrebbe provare ad aggiornare il tuo numpy all'ultimo. ha funzionato per me

pip install --upgrade numpy 
Problemi correlati