Homebrew (brew
)を使用してOpenCVをインストールすると、このコマンドを実行してpython -c "import cv2"
をテストするたびにこの問題が発生しました。
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
NumPyをアップグレードしようとしましたが、これは混乱を招きます。
>>> import numpy
>>> print numpy.__version__
1.6.1
Brewを実行してNumPyをアップグレードすると、次の問題が発生しました。
brew install -u numpy
Warning: numpy-1.9.1 already installed
アンインストールしたとき:
Sudo pip install numpy
Requirement already satisfied (use --upgrade to upgrade): numpy in ./anaconda/lib/python2.7/site-packages
私は この質問 を追い、Macから Anaconda を削除しました。
pip install numpy
Requirement already satisfied (use --upgrade to upgrade): numpy in /Library/Python/2.7/site-packages
しかし、何も変わっていません。 NumPyバージョンをOpenCVにリンクするにはどうすればよいですか?
システムに2つのNumPyがインストールされているためです。 1つはHomebrewによってインストールされ、2つ目はpipによってインストールされます。そのため、問題を解決するために、1つを削除し、OpenCVによるデフォルトのNumPyインストールを使用する必要があります。
パスを確認し、
import numpy
print numpy.__path__
rm
を使用して手動で削除します。
システムでNumPyの2つのバージョンを使用している場合、前述のエラーが発生します。前述のように、インポートしたNumPyのバージョンは、pipでアップグレードしようとしたため、まだアップグレードされていません('/Library/Python/2.7/site-packages'
に存在するバージョンをアップグレードします)。
ただし、Pythonは、プリインストールされたパッケージが存在する'/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/numpy'
からパッケージをロードします。
そのバージョンをアップグレードするには、easy_install
を使用する必要があります。この問題を回避する別の方法は、virtualenv
を使用し、必要なすべての要件を備えた新しい環境をセットアップすることです。
NumPyの古いバージョンが既にある場合は、これを使用します:
pip install numpy --upgrade
それでも動作しない場合は、試してください:
pip install numpy --upgrade --ignore-installed
参考までに、TensorFlowを使用またはインポートすると、次のような同様のエラーが発生する場合があります(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.
エルミラとドリューのソリューションSudo easy_install numpy
に続いて、そしてworked!
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
その後、エラーなしでTensorFlowを使用できました。
NumPyの複数のバージョンがインストールされているため。
pip uninstall numpy
からの出力が表示されなくなるまで、pip list | grep numpy
およびpip list | grep numpy
を数回試してください。
その後、pip install numpy
はNumPyの最新バージョンを取得します。
rm
が最初は機能しなかったため、代わりにSudo pip uninstall numpy
を試しました。
うまくいけばそれが助けになる。
アンインストールしてから、再度インストールします。
でアクセス許可エラーが発生しない場合
pip install -U numpy
試してください:
pip install --user -U numpy
これは私のために働く:
pip install numpy --upgrade
すべて同じです。
Sudo easy_install numpy
私のトレースバック
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
Pytorchをインストールした後、使用したときに同様のエラーが発生しました:
import torch
NumPyを削除しても解決しませんでした(実際にNumPyの名前を変更したため、機能しなくなった後に元に戻しました)。次のコマンドは私のために働いた:
Sudo pip install numpy --upgrade
Sudo easy_install numpy
python 2の場合
pip install numpy --upgrade
また、numpyの更新バージョンのためにテーブルをアップグレードする必要があります。そう、
pip install tables --upgrade
python 3の場合
pip3 install numpy --upgrade
同様に、python3のテーブル:-
pip3 install tables --upgrade
使用しているpythonバージョンを確認する必要があります。python 2.7+の場合はpip、python 3+の場合はpip
Rootアクセスのないマシンで動けなくなっている場合は、カスタムPythonインストールを処理することをお勧めします。
Anacondaのインストールは魅力のように機能しました。
インストール後、
[bash] $/xxx/devTools/python/anaconda/bin/pip list --format = columns | grep numpy
numpy 1.13.3 numpydoc 0.7.0