ImportError:名前NUMPY_MKLをインポートできません


92

次の簡単なコードを実行しようとしています

import scipy
scipy.test()

しかし、私は次のエラーが出ます

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "C:\Python27\lib\site-packages\spyderlib\widgets\externalshell\sitecustomize.py", line 586, in runfile
    execfile(filename, namespace)
  File "C:/Users/Mustafa/Documents/My Python Code/SpectralGraphAnalysis/main.py", line 8, in <module>
    import scipy
  File "C:\Python27\lib\site-packages\scipy\__init__.py", line 61, in <module>
    from numpy._distributor_init import NUMPY_MKL  # requires numpy+mkl
ImportError: cannot import name NUMPY_MKL

Windows 10でPython 2.7を使用しています。

インストールしましたscipyが、問題は解決しないようです

どんな助けでもありがたいです。

回答:


223

エラーの原因となっている行を見ると、次のことがわかります。

from numpy._distributor_init import NUMPY_MKL  # requires numpy+mkl

この行コメントはとして依存関係を述べてnumpy+mklnumpyインテルマス・カーネル・ライブラリー)。これは、numpyによってをインストールしpipscipyが、を想定しているプリコンパイル済みアーカイブによってがインストールされたことを意味しますnumpy+mkl

この問題はnumpy+mklここからwhlファイルをインストールすることで簡単に解決できます


5
このソリューションは、WindowsでPython 2.7.10を実行している場合に機能しました
ScottMcC '19年

2
@VMAtm同じ仮想環境にnumpy(pipから)とnumpy + mkl(プリコンパイル済みライブラリから)の両方のインストールを含めることはできますか?
StrawhatLuffy 2016年

私の知る限り、答えはノーです。最後に数え切れないほどの数であるので、それらは互いにアンインストールしていますが、一部のプロセッサ命令のみ(私がそれをよく理解している場合のみ)
VMAtm

2
解決策はpython 2.7 windows 7で完全に機能しました。多くの時間を節約してくれました。ありがとうございました。
セル

pip install <numpy wheel path>-許可の問題が発生したため、ユーザーは私のために働いた。
アミットクマー

14

(あなたのPython用)を再インストールするnumpyの-1.11.0_XXX.whlからwww.lfd.uci.edu/~gohlke/pythonlibs。このファイルは、2016年3月29日以前に私がダウンロードした亜種と比較すると同じ名前とバージョンですが、サイズと内容が古い亜種とは異なります。再インストール後にエラーが消えた。

2番目のオプション-0.17.1からscipy 0.17.0に戻る

PS私はWindows 64ビットバージョンのPython 3.5.1を使用しているため、Python 2.7のnumpyがすでに修正されていることを保証できません。


11

これが良い解決策であるかどうかはわかりませんが、エラーは削除されました。私は行をコメントアウトしました:

from numpy._distributor_init import NUMPY_MKL 

そしてそれは働いた。これが他の機能を壊すかどうかはわかりませんが


3
:)興味深いのは、それが実際に機能し、Linuxバージョンのscipyにそのような行がないことです。
dzmitry 2016

7

Windowsにgensimをインストールするときに同じ問題が発生しました。Gensimはscipyとnumpyのscipyに依存しています。3つすべての作業を行うのは本当に大変です。そこにあるすべての機能を同時に動作させるには、かなりの時間がかかりました。

解決策:Windowsを使用している場合は、numpyの代わりにnumpy + mklをインストールしてください。すでにscipyとnumpyをインストールしている場合は、アンインストールしてから、「pip uninstall scipy」と「pip uninstall numpy」を使用します。

次に、numpy-1.13.1 + mkl-cp34-cp34m-win32.whlをhttp://www.lfd.uci.edu/~gohlke/pythonlibs/#numpyからダウンロード し、pip install numpy-1.13.1 + mkl-を使用してインストールします。 cp34-cp34m-win32.wh注:cp34-cp34mの34は、使用しているpythonのバージョンを表しています。関連バージョンをダウンロードしてください。

次に、scipyをhttp://www.lfd.uci.edu/~gohlke/pythonlibs/#scipy(ご使用のpythonおよびシステムに適切なバージョン)からダウンロードし、「pip install scipy‑0.19.1‑cp34‑cp34m‑win32を使用してインストールします。 WHL」

numpyとScipyの両方が動作するはずです。Christoph Gohlkeによるこれらのバイナリを使用すると、PythonパッケージをWindowsに非常に簡単にインストールできます。ただし、そこからすべての依存パッケージをダウンロードしてください。


Python 3.6でscipyをインストールする際に問題が発生したため、3.6からpython 3.4に戻しました
user3046442

3

コメントするには十分な評判がありませんが、.whlファイルのcp番号がpythonバージョンを表すことを付け加えておきます。

cp35-> Python 3.5.x

cp36-> Python 3.6.x

cp37-> Python 3.7.x

それは当たり前のことだと思いますが、それでも私は1時間近くも無駄にしており、おそらく他の人々もそれに苦労しています。

したがって、 Python 3.6.8を使用しているため、私がここでダウンロードしたバージョンcp36を動作させました:https ://www.lfd.uci.edu/~gohlke/pythonlibs/#numpy 。

それから私はnumpyをアンインストールしました:

pip uninstall numpy 

次に、numpy + mklをインストールしました。

pip install <destination of your .whl file>

2

エラーの理由は、現在のバージョンが実行するために必要なscipyのいくつかの機能があり、scipyで見つからない可能性があるnumpyライブラリをアップグレードしたためです。python -m pip install scipy --upgradeを使用してscipyライブラリをアップグレードするだけです。私は同じエラーに直面しており、この解決策は私のpython 3.5で動作しました。


0

ログから、numpyパッケージが欠落していることが明らかです。PyPIパッケージで言及したように:

SciPyライブラリは、便利で高速なN次元配列操作を提供するNumPyに依存しています。

したがって、で行ったように、numpyPython用のパッケージをインストールしてみてくださいscipy


3
それもインストールしました。何らかの理由でSpyderを閉じて再度実行する必要があり、それで問題が解決しました。とにかくありがとう。
スティーブ

2
このエラーは、numpyがMKLサポートでコンパイルされていない場合、numpyが存在していても発生します。
KDN

働いた。おかげで私のscikitはlfd.uci.edu/~gohlke/pythonlibsからのものだったので、同じディストリビューションからのnumpyを使用する必要がありました
Anuvrat Tiku 2017

0

jupyter(python3.x、win10)でscipyをロードしようとすると、最近同じエラーが発生しましたが、pipを使用してnumpy-1.13.3 + mklにアップグレードしただけです。解決策は、scipyパッケージを(v0.19からv1.0.0に)単にアップグレードすることでした。


非常によく似た問題が発生したときに使用した修正を提供したかっただけです。
EV

0

はい、numpyを再インストールするだけで動作します。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.