ImportError: NUMPY_MKL adı içe aktarılamıyor


92

Aşağıdaki basit kodu çalıştırmaya çalışıyorum

import scipy
scipy.test()

Ama şu hatayı alıyorum

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 altında python 2.7 kullanıyorum.

Yükledim scipyama bu sorunu çözmüyor

Herhangi bir yardım takdir edilmektedir.

Yanıtlar:


223

Hataya neden olan satıra bakarsanız, şunu görürsünüz:

from numpy._distributor_init import NUMPY_MKL  # requires numpy+mkl

Bu çizgi açıklama olarak bağımlılık devletler numpy+mkl( numpyile Intel Math Kernel Library ). Bu, numpytarafından yüklediğiniz anlamına gelir pip, ancak scipybeklenen önceden derlenmiş arşiv tarafından yüklenmiştir numpy+mkl.

Buradannumpy+mkl whl dosyasından kurulum yaparak bu problem kolaylıkla çözülebilir .


5
Bu çözüm, Windows'ta Python 2.7.10 çalıştırırken benim için çalıştı
ScottMcC

2
@VMAtm Aynı virtualenv'lerde hem numpy (pip'ten) hem de numpy + mkl (önceden derlenmiş kitaplıklardan) kurulumlarına sahip olabilir miyiz?
StrawhatLuffy

Bildiğim kadarıyla cevap hayır. Sonunda bir uyuşukluk olduğu için birbirlerini çözüyorlar, sadece bazı işlemci talimatlarıyla (eğer iyi
anlarsam

2
Çözüm python 2.7 windows 7'de mükemmel çalıştı. Bana çok zaman kazandırdı, bir düzine teşekkür ederim!
seç

pip install <numpy wheel path> - izin sorunu alırken kullanıcı benim için çalıştı.
Amit Kumar

14

Yeniden yükleyin numpy-1.11.0_XXX.whl dan (sizin Python için) www.lfd.uci.edu/~gohlke/pythonlibs . Bu dosya, 29.03.2016 tarihinden önce indirdiğim varyantla karşılaştırıldığında aynı ada ve sürüme sahip, ancak boyutu ve içeriği eski varyanttan farklı. Yeniden kurulum hatası ortadan kalktıktan sonra.

İkinci seçenek - 0.17.1'den 0.17.0'a geri dönün

PS Python 3.5.1'in Windows 64-bit sürümünü kullanıyorum, bu yüzden Python 2.7 için numpy'nin zaten düzeltilmiş olduğunu garanti edemem.


11

Bunun iyi bir çözüm olup olmadığından emin değilim ama hatayı kaldırdı. Satırı yorumladım:

from numpy._distributor_init import NUMPY_MKL 

ve işe yaradı. Bunun diğer özelliklerin bozulmasına neden olup olmayacağından emin değilim


3
:) İlginç olan, gerçekten işe yarıyor olması ve scipy'nin linux versiyonunda böyle bir satır olmaması.
dzmitry

7

Gensim'i pencerelere kurarken de aynı sorunu yaşadım. Gensim uyuşukluğa ve uyuşmaya bağımlıdır. Her üç işi yapmak gerçek acıdır. Her şeyin aynı anda çalışması çok zamanımı aldı.

Çözüm: Windows kullanıyorsanız, sadece numpy yerine numpy + mkl'yi kurduğunuzdan emin olun. Zaten scipy ve numpy yüklediyseniz, kaldırıp "pip uninstall scipy" ve "pip uninstall numpy"

Ardından http://www.lfd.uci.edu/~gohlke/pythonlibs/#numpy adresinden numpy-1.13.1 + mkl-cp34-cp34m-win32.whl dosyasını indirin ve pip install numpy-1.13.1 + mkl- kullanarak kurun. cp34-cp34m-win32.wh Not: cp34-cp34m 34, kullandığınız python sürümünü temsil eder, bu nedenle ilgili sürümü indirin.

Şimdi http://www.lfd.uci.edu/~gohlke/pythonlibs/#scipy (python ve sisteminiz için uygun sürüm) adresinden scipy'yi indirin ve "pip install scipy ‑ 0.19.1 ‑ cp34 ‑ cp34m ‑ win32'yi kullanarak kurun. whl "

Uyuşuk ve Scipy'nin ikisi de şimdi çalışmalı. Christoph Gohlke'nin bu ikili dosyaları, python paketlerini pencerelere yüklemeyi çok kolaylaştırır. Ancak tüm bağımlı paketleri oradan indirdiğinizden emin olun.



3

Yorum yapmak için yeterli itibarım yok ama eklemek istiyorum ki .whl dosyasının cp numarası sizin python sürümünüzü temsil ediyor.

cp35 -> Python 3.5.x

cp36 -> Python 3.6.x

cp37 -> Python 3.7.x

Oldukça açık olduğunu düşünüyorum ama yine de bu yüzden neredeyse bir saatimi boşa harcadım ve belki başkaları da bununla mücadele ediyor.

Bu yüzden benim için burada indirdiğim cp36 sürümünü çalıştı: https://www.lfd.uci.edu/~gohlke/pythonlibs/#numpy çünkü Python 3.6.8 kullanıyorum.

Sonra numpy'yi kaldırdım:

pip uninstall numpy 

Sonra numpy + mkl'yi kurdum:

pip install <destination of your .whl file>

2

Hatanın nedeni, scipy'de bulunmayan ve çalıştırmak için mevcut sürümün gerektirdiği scipy'den bazı işlevler bulunan numpy kitaplığınızı yükseltmiş olmanızdır. Python -m pip install scipy --upgrade kullanarak scipy kitaplığınızı yükseltin. Aynı hatayla karşılaşıyordum ve bu çözüm python 3.5'imde çalıştı.


0

Günlüğünüzden numpypaketin eksik olduğu açık . İçinde söz olarak PyPI paketinin :

SciPy kitaplığı, kullanışlı ve hızlı N boyutlu dizi manipülasyonu sağlayan NumPy'ye dayanır.

Öyleyse, numpyyaptığınız gibi python için paket yüklemeyi deneyin scipy.


3
Bunu da yükledim. Nedense Spyder'ı kapatıp tekrar çalıştırmak zorunda kaldım ve bu sorunu çözdü. Yine de teşekkürler.
Steve

2
Bu hata, numpy mevcut olsa bile, numpy MKL desteği ile derlenmemişse ortaya çıkar.
KDN

Çalıştı. teşekkürler scikit'im lfd.uci.edu/~gohlke/pythonlibs'den geldi Bu yüzden aynı dağıtımdan
uyuşturucuyu

0

Kısa süre önce jupyter'da scipy yüklemeye çalışırken (python3.x, win10) aynı hatayı aldım, ancak pip aracılığıyla numpy-1.13.3 + mkl'ye yeni sürüme geçtim. Çözüm basitçe scipy paketini yükseltmekti (v0.19'dan v1.0.0'a).


Sadece çok benzer bir sorunla karşılaştığımda kullandığım bir düzeltmeyi sağlamak istedim.
EV

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.