2015-02-14 14 views
25

Quando ho installato OpenCV con birra, ho avuto questo problema ogni volta che corro questo comando per testare python -c "import cv2"Come posso aggiornare Numpy?

RuntimeError: module compiled against API version 9 but this version of numpy is 6 
Traceback (most recent call last): 
    File "<string>", line 1, in <module> 
ImportError: numpy.core.multiarray failed to import 

ho cercato di aggiornare il NumPy, ma questo è fonte di confusione

>>> import numpy 
>>> print numpy.__version__ 
1.6.1 

Quando eseguo birra per aggiornare Numpy, ho avuto questo problema.

brew install -u numpy 
Warning: numpy-1.9.1 already installed 

Quando ho disinstallato

sudo pip install numpy 
Requirement already satisfied (use --upgrade to upgrade): numpy in ./anaconda/lib/python2.7/site-packages 

Ho seguito questo thread e cancellati anaconda dal mio mac.

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

Ma nulla è cambiato. Come posso collegare la versione numpy a opencv?

risposta

31

Perché abbiamo due numpy nel sistema. Uno è installato da brew e il secondo è installato da pip. Quindi, per risolvere il problema, dobbiamo eliminarne uno e utilizzare l'installazione numpy predefinita di opencv.

Controllare il percorso

import numpy 
print numpy.__path__ 

ed eliminare manualmente utilizzando rm

+12

Non sembra di essere al lavoro per Mac OSX El Capitan, perché (a) si rifiuta di cancellare la cartella del NumPy che è in '/ Sistema/Libreria/Framework/Python.framework/Versions/2.7/Extras/lib/python', e (b) questo non è generalmente un buon approccio, –

+0

@ ИванГеоргиев: In che altro modo, allora? – aasu

3

Ho provato a fare sudo pip uninstall numpy invece, perché il rm non ha funzionato in un primo momento.

Speriamo che questo aiuti.

Disinstallare quindi per installarlo nuovamente.

13

L'errore che hai menzionato si verifica quando hai due versioni di numpy sul tuo sistema. Come hai menzionato, la versione di numpy importata non è ancora stata aggiornata poiché hai provato ad aggiornarlo tramite pip (aggiornerà la versione esistente in '/Library/Python/2.7/site-packages'). Tuttavia Python carica ancora i pacchetti da '/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/numpy' dove vivono i pacchetti preinstallati. Per aggiornare quella versione devi usare easy_install. L'altro modo per risolvere questo problema è utilizzare virtualenv e configurare un nuovo ambiente con tutti i requisiti necessari.

+10

'sudo easy_install numpy' cercato ha aggiunto l'ultimo percorso di numpy (coz già esistente del mio' sudo pip install numpy'). Perfetto soln. –

+1

Aveva un problema simile. 'sudo easy_install numpy'. Rimosse l'ultima e l'ultima aggiornata. Traceback 'Ricerca di NumPy Miglior risultato: NumPy 1.11.2 Rimozione NumPy 1.8.2 da file facile install.pth Aggiunta NumPy 1.11.2 di file facile install.pth ' – user123

6

FYI,

Quando si utilizza o l'importazione tensorflow, errore simile può verificato come (causata da NumPy):

RuntimeError: module compiled against API version 0xa but this version of numpy is 0x9 
Traceback (most recent call last): 
    File "<stdin>", line 1, in <module> 
    File "/usr/local/lib/python2.7/dist-packages/tensorflow/__init__.py", line 23, in <module> 
    from tensorflow.python import * 
    File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/__init__.py", line 60, in <module> 
    raise ImportError(msg) 
ImportError: Traceback (most recent call last): 
    File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/__init__.py", line 49, in <module> 
    from tensorflow.python import pywrap_tensorflow 
    File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/pywrap_tensorflow.py", line 28, in <module> 
    _pywrap_tensorflow = swig_import_helper() 
    File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/pywrap_tensorflow.py", line 24, in swig_import_helper 
    _mod = imp.load_module('_pywrap_tensorflow', fp, pathname, description) 
ImportError: numpy.core.multiarray failed to import 


Error importing tensorflow. Unless you are using bazel, 
you should not try to import tensorflow from its source directory; 
please exit the tensorflow source tree, and relaunch your python interpreter 
from there. 

ho seguito la soluzione di Elmira e Drew di, sudo easy_install numpy, e ha funzionato!

sudo easy_install numpy 
Searching for numpy 
Best match: numpy 1.11.3 
Removing numpy 1.8.2 from easy-install.pth file 
Adding numpy 1.11.3 to easy-install.pth file 

Using /usr/local/lib/python2.7/dist-packages 
Processing dependencies for numpy 
Finished processing dependencies for numpy 

Successivamente, è possibile utilizzare Tensorflow senza errori.

3

Perché è installata più versioni di numpy.

Provare pip uninstall numpy e pip list | grep numpy diverse volte, finché non viene visualizzato alcun output da pip list | grep numpy.

Quindi il pip install numpy ti darà la versione più recente di numpy.

1

Dopo aver installato pytorch, ho ottenuto l'errore simile quando ho usato:

import torch 

Rimozione NumPy non ha aiutato (in realtà ho rinominato NumPy, quindi tornò indietro dopo non ha funzionato). I seguenti comandi hanno funzionato con me:

sudo pip install numpy --upgrade 
sudo easy_install numpy 
1

Tutti uguali.

sudo easy_install numpy 

mio Traceback

Searching for numpy 

Best match: numpy 1.13.0 

Adding numpy 1.13.0 to easy-install.pth file 

Using /Library/Python/2.7/site-packages 

Processing dependencies for numpy 
1
pip install numpy --upgrade 

Funziona per me

0

Se si verifica alcun errore di autorizzazione con
pip install -U numpy
provare
pip install --user -U numpy

0

Se si è bloccati in una macchina in cui non si dispone di un accesso di root, è meglio gestire l'installazione personalizzata di python.

L'installazione di anaconda ha funzionato come un fascino.

https://www.scipy.org/install.html

https://www.anaconda.com/download/

Dopo l'installazione,

[bash] $/xxx/DevTools/python/anaconda/bin/PIP lista --format = colonne | NumPy grep

NumPy 1.13.3 numpydoc 0.7.0

-1

Quando si dispone già di una versione precedente di NumPy, utilizzare questo:
pip install numpy --upgrade.

Se ancora non funziona, provare:
pip install numpy --upgrade --ignore-installed

Problemi correlati