ImportError: import numpy.core.multiarray nie powiódł się

135

Próbuję uruchomić ten program

import cv2
import time

cv.NamedWindow("camera", 1)

capture = cv.CaptureFromCAM(0)

while True:
    img = cv.QueryFrame(capture)
    cv.ShowImage("camera", img)
    if cv.WaitKey(10) == 27:
        break
cv.DestroyAllWindows()

Ale mam problem z numpy, używam pyschopy razem z opencv. Problem, który ciągle otrzymuję, to ten raport o błędzie:

RuntimeError: moduł skompilowany dla wersji API 7, ale ta wersja numpy to 6

Traceback (ostatnie ostatnie połączenie):

Plik „C: \ Users \ John \ Documents \ EyeTracking \ Programs \ GetImage.py”, wiersz 1, w

import cv2

ImportError: import numpy.core.multiarray nie powiódł się

Mam numpy-1.6.1-py2.7 w folderze psychopy, jestem po prostu zdezorientowany, co jest nie tak?

Edytować (odpowiedź usunięta)

Następujące polecenie

pip install -U numpy 

pomaga rozwiązać problem: could not load numpy.core.multiarray.

Społeczność
źródło
1
Otrzymuję ten sam komunikat o błędzie i mam zainstalowany numpy-1.9.2.
tommy.carstensen
1
W moim przypadku korzystałem z dystrybucji Anaconda w systemie Windows i uruchomiłem conda update pythondwa razy (raz, aby zaktualizować Conda, i ponownie, aby zaktualizować Pythona do 2.7.13).
Jason O.
Bieganie pip install opencv-python==3.4.2.17 numpy==1.14.5zadziałało dla mnie
Markus Weber
Otrzymuję ten sam błąd w NumPy 1.16.3, Pythonie 3.7 i najnowszym macOS, aktualizacja do 1.16.4 rozwiązuje problem.
nngeek

Odpowiedzi:

130

Otrzymałem ten sam błąd i mogłem go rozwiązać, aktualizując moją instalację numpy do 1.8.0:

pip install -U numpy
David Ketcheson
źródło
Otrzymuję ten sam komunikat o błędzie i mam zainstalowany numpy-1.9.2.
tommy.carstensen
@ tommy.carstensen Cześć, mam ten sam problem, próbowałem pip install -U numpy, pobrał najnowszą wersję numpy i powiedział, że jest instalowany sukcesywnie, ale w rzeczywistości nadal stara wersja
user824624
Był dokładnie w tym samym stanie ... Dla mnie problemem była podwójna instalacja numpy, która była w wersji kolidującej z innymi bibliotekami i przesłaniała poprawną wersję numpy zainstalowaną przez condę. Rozwiązanie: pip uninstall numpy ... to usunęło wadliwą wersję Numpy i przywróciło poprawną wersję Numpy ...
roy650
1
Dla mnie musiałem usunąć numpy, a następnie zainstalować numpy. zadziałało.
jef
24

W takim razie

pip install -U numpy 

nie działa (nawet z sudo), możesz chcieć upewnić się, że używasz odpowiedniej wersji numpy. Miałem ten sam problem „numpy.core.multiarray nie udało się zaimportować”, ale wynikało to z tego, że zainstalowałem 1.6 dla wersji Pythona, z której korzystałem, mimo że instalowałem 1.8 i zakładałem, że instaluje się we właściwym katalogu.

Znalazłem złą wersję numpy, używając następującego polecenia w moim terminalu Mac:

python -c "import numpy;print numpy.__version__;print numpy.__file__";

To polecenie dało mi wersję i lokalizację numpy, którego używałem (okazało się, że to 1.6.2). Udałem się do tej lokalizacji i ręcznie zastąpiłem go folderem numpy dla wersji 1.8, co rozwiązało mój problem z błędem „numpy.core.multiarray nie udało się zaimportować”. Mam nadzieję, że ktoś uzna to za przydatne!

Uwaga : w poleceniu użyj podwójnego podkreślenia przed i po „wersji” i „pliku”

alexfigtree
źródło
cześć, spotkałem ten sam problem, czy mógłbyś mi poinstruować, jak wymienić folder
numpy
Cześć, musisz spojrzeć na ścieżkę podaną po poleceniu python -c i znaleźć ją na swoim komputerze. Jestem pewien, że możesz rmować katalog na OSX przez terminal, ale zrobiłem to ręcznie i rozwiązałem mój problem.
alexfigtree
AttributeError: obiekt „module” nie ma atrybutu „plik”
xApple
1
@xApple Dodaj dunderscores (to znaczy: podwójne podkreślenie) przed i po wersjach i plik
Hamlett
Możesz także po prostu spróbować odinstalować wadliwy numpy. Następnie sprawdź, czy masz inną wersję numpy, która "wzrośnie" (tak jak ja) i jeśli to konieczne - zainstaluj ją ponownie.
roy650
17

Jeśli chcesz mieć konkretną wersję:

pip install numpy==1.8
ril3y
źródło
Jeśli to zrobię, pojawia się błąd z pliku cl.exe: nie można połączyć prostego programu w C
snoob dogg
2
Mam numpy 1.11 i otrzymałem komunikat „nie można załadować numpy.core.multiarray”. Zainstalowanie wersji 1.15.2, jak podano poniżej, naprawiło to.
Craig S. Anderson
14

Spróbuj sudo pip install numpy --upgrade --ignore-installed.

Działa w systemie Mac OS 10.11.

Powinieneś zamknąć 'Rootless', jeśli powyższa powłoka nie działa.

Startry
źródło
Rootless to „Ochrona integralności systemu” w OSX 10.11
Startry
12

Jeśli używasz Python3, poniższe polecenie rozwiązuje problem w macos.

python3 -m pip install numpy -I

Bharanidharan K
źródło
To zadziałało, ale użyłem python -m pip install numpy -I
Ahmad Moussa
7

możesz potrzebować aktualizacji pip, to działa dla mnie

pip install --upgrade pip
pip install -U numpy
TURUI
źródło
7
pip install opencv-python==3.4.2.17 numpy==1.14.5

wykonał robotę za mnie!

Bendy Latortue
źródło
6

Miałem ten sam komunikat o błędzie, po wypróbowaniu niektórych sugerowanych rozwiązań bez powodzenia stwierdziłem, że muszę uruchomić:

pip uninstall numpy

wielokrotność razy. Za każdym razem kilka różnych plików było oznaczanych do usunięcia, z różnych wersji numpy, które zgromadziły się w moim systemie.

Kiedy już nie było już nic do odinstalowania, to była kwestia

pip install numpy

Mam nadzieję, że to komuś pomoże!

bio_james
źródło
To było bardzo pomocne <3
Atinesh
4

u mnie ten błąd pojawił się podczas instalacji pygrib z condą i importowania go.

conda install -c conda-forge numpy

Rozwiązać problem.

Oliver Wilken
źródło
rozwiązało to dla mnie problem, gdy otrzymałem wspomniany błąd podczas "importu tensorflow"
Mona Jalal
Rozwiązał mój problem, gdy używam opencv, Anaconda python powinien używać tej metody, pip lub pip3 sprawią, że będzie jeszcze gorzej.
raidsan
3

W moim przypadku ten problem wynikał z tego, że miałem dwie instalacje Pythona (2.7 i 3.5), a pip instalował numpy tylko w katalogu 3.5 python, niezależnie od używanej wersji pip.

Rozwiązałem problem, jawnie określając docelowy katalog instalacyjny jako taki:

pip install --target c:\apps\python-2.7\Lib\site-packages numpy
Vikash Madhow
źródło
3

Naprawdę nie rozumiem tego błędu, ale rozwiązałem ten błąd poniżej.

pip install -U opencv-python

Mam nadzieję, że to było przydatne!

Saeed
źródło
3

W moim przypadku instalacja z apt rozwiązała mój problem.

Możesz spróbować odinstalować go z pip i zainstalować z apt (jeśli używasz ubuntu itp.)

pip3 uninstall numpy
sudo apt-get install python3-numpy
fakturk
źródło
3

Otrzymałem ten sam błąd i problem został rozwiązany poprzez aktualizację mojej instalacji numpy z 1.7.1 do 1.12.1

pip install -U numpy

Poniżej przedstawiono moją sekwencję cmd, gdy wystąpił błąd, nieznacznie różniącą się od powyższej:

$ python

Python 2.7.12 |Anaconda 4.2.0 (x86_64)| (default, Jul  2 2016, 17:43:17) 

[GCC 4.2.1 (Based on Apple Inc. build 5658) (LLVM build 2336.11.00)] on darwin

Type "help", "copyright", "credits" or "license" for more information.

Anaconda is brought to you by Continuum Analytics.

Please check out: http://continuum.io/thanks and https://anaconda.org

>>> import cv2

>>> import numpy as np

>>> from matplotlib import pyplot as plt
Rider44
źródło
2

Po koszmarze używania pip install -U numpy kilka miesięcy temu, poddałem się. Przeprowadziłem instalację CV2 i opencv bez powodzenia.

Używałem numpy w wersji 1.9.1 na python34, a aktualizacja po prostu się przeciągała w wersji 1.9.

Poszedłem więc na https://pypi.python.org/pypi/numpy i odkryłem najnowszą wersję numpy dla mojego pythona3.4.

Pobrałem plik .whl i skopiowałem go do folderu zawierającego moją instalację Pythona, w moim przypadku C: \ Python34.

Następnie uruchomiłem pip intall na nazwie pliku i mogę teraz importować cv2 bez problemu.

Upewnij się, że zamknąłeś Pythona przed rozpoczęciem, oczywiste, ale niezbędne

Stephen O
źródło
2

U mnie zadziałało. Możesz więc spróbować wykonać następujące polecenie

$ pip install numpy -I
Mahfujur Rahman
źródło
1

Wystąpił ten sam błąd, podczas którego korzystałem z wersji numpy sugerowanej w pliku Requirements.txt w repozytorium. Kiedy próbowałem zaimportować pandy jako pd, wystąpił ten błąd. Wtedy rozwiązaniem była aktualizacja numpy do wersji 1.15.2, ponieważ wersja sugerowana w wymaganiach nie pasowała do pand. Odinstalowałem istniejącą wersję numpy za pomocą pip i ponownie zainstalowałem nową wersję.

pip install numpy==1.15.2 

Mam nadzieję, że to komuś pomoże

shan89
źródło
1

Udało mi się rozwiązać problem, aktualizując mój Python do wersji 3.8. Używam Macbooka Air z Cataliną. Problem zaczął się u mnie po aktualizacji TensorFlow. Po aktualizacji błąd nie znika po kilkukrotnym odinstalowaniu i zainstalowaniu numpy.

Wreszcie pobrałem pakiet python3.8 ze strony internetowej python i zainstalowałem. Następnie zainstalowałem numpy i zadziałało.

R Nanthak
źródło
0

Ten sam błąd przyszedł do mnie. Problem polega na tym, że mogłeś utworzyć plik o nazwie numpy.py. Ten plik może pokrywać się z biblioteką numpy. Usuń więc ten plik numpy.py, a problem zostanie rozwiązany.

Manoj Guha
źródło
0

Miałem ten sam błąd po zainstalowaniu Pythona i opencv na moim dysku D: (C: działa na dysku SSD). Wydawało się, że problem polegał na tym, że moja ścieżka wykonywania znajdowała się w folderze numpy. Możesz sprawdzić, czy to jest problem z tym kodem:

import numpy
numpy.version.version

W przypadku, gdy pobierze jakikolwiek błąd związany ze ścieżką wykonania, wykonaj oryginalny kod z innego miejsca. To rozwiązało błąd nie można załadować numpy.core.multiarray

egeres
źródło
0

To mi pomogło

sudo pip3 install --upgrade --target=/home/<username>/.local/lib/python3.6/site-packages numpy
Sahil Parekh
źródło
0

Dla mnie to było dwie części. Pierwszy:

pip uninstall numpy

Następnie @Oli Blum odpowiedz (dziękuję):

conda install -c conda-forge numpy

To załatwiło sprawę dla mnie

Constanza Garcia
źródło
0

Napotkałem to podczas próby importu Pytorch. Rozwiązałem to, kilkakrotnie odinstalowując Numpy, aż na moim Ubuntu nie pozostała żadna wersja i instalując najnowszą wersję.

Biegnij sudo pip uninstall numpy. Jeśli odmówi usunięcia pakietu z pliku <location>, uruchom sudo rm -r <location>. Powtarzaj powyższe czynności, aż pierwsze polecenie nic nie da i import numpynie może znaleźć pakietu w powłoce Pythona.

Zainstaluj numpy za pomocą pip.

m3h0w
źródło
0

Odinstaluj istniejący numpy i zainstaluj opencv-python, rozwiąże problem

laxman kishore
źródło
0

Miałem ten sam problem i oto jak go rozwiązano w moim przypadku.

Próbowałem, pip install -U numpyale to nie zaktualizowało numpy, ale conda installzadziałało dla mnie

ImportError: numpy.core.multiarray failed to import
admin@MacBook-Air$ pip install -U numpy
Requirement already up-to-date: numpy in /Users/admin/anaconda/lib/python2.7/site-packages
admin@MacBook-Air$ python
Python 2.7.12 |Anaconda 2.4.0 (x86_64)| (default, Jul  2 2016, 17:43:17) 
[GCC 4.2.1 (Based on Apple Inc. build 5658) (LLVM build 2336.11.00)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
Anaconda is brought to you by Continuum Analytics.
Please check out: http://continuum.io/thanks and https://anaconda.org
>>> import numpy
numpy.version.version
>>> numpy.version.version
'1.7.1'
>>> exit
Use exit() or Ctrl-D (i.e. EOF) to exit
>>> 
admin@MacBook-Air$ 
admin@MacBook-Air$ conda install numpy
Fetching package metadata .......
Solving package specifications: ..........

Package plan for installation in environment /Users/admin/anaconda:

The following packages will be downloaded:

    package                    |            build
    ---------------------------|-----------------
    scikit-learn-0.18.1        |      np111py27_0         4.9 MB

The following packages will be UPDATED:

    numexpr:      2.3.0-np17py27_0  --> 2.6.1-np111py27_1 
    numpy:        1.7.1-py27_2      --> 1.11.2-py27_0     
    scikit-learn: 0.14.1-np17py27_1 --> 0.18.1-np111py27_0
    scipy:        0.13.2-np17py27_1 --> 0.18.1-np111py27_0

Proceed ([y]/n)? y

Fetching packages ...
scikit-learn-0 100% |#################################################################| Time: 0:00:16 312.60 kB/s
Extracting packages ...
[      COMPLETE      ]|####################################################################################| 100%
Unlinking packages ...
[      COMPLETE      ]|####################################################################################| 100%
Linking packages ...
[      COMPLETE      ]|####################################################################################| 100%
Orzechówka
źródło
0

Foldery tyldy

W przypadku pip uninstall numpyi ponowna instalacja Numpy nie działa. Przejrzyj folder pakietów witryn pod kątem podfolderów zaczynających się od tyldy ~

Te foldery odnoszą się do instalacji pip, które zostały zniekształcone, a instalacja została przerwana w połowie. Foldery tyldy miały być tylko folderami tmp, ale ostatecznie stały się trwałe. W moim przypadku był plik o nazwie ~ mpy, który był zniekształconym starszym folderem Numpy. Doprowadziło to do problemów ze zgodnością i ImportErrors.

Te zniekształcone foldery można bezpiecznie usunąć. Więcej informacji można znaleźć w tej odpowiedzi

EQNX
źródło
0

Ten sam błąd wystąpił w środowisku Conda, zaledwie sześć lat później. Inne odpowiedzi były pomocne i ostatecznie wyśledziłem to do tego problemu:

> conda list numpy
# packages in environment at [Anaconda3]:
#
# Name                    Version                   Build  Channel
numpy                     1.14.5                   pypi_0    pypi
numpy-base                1.18.1           py36hc3f5095_1
numpydoc                  0.9.1                    pypi_0    pypi

Problem polegał na tym, że „numpy” było inną wersją niż „numpy-base”. Rozwiązałem to za pomocą:

> conda install numpy-base=1.14.5

więc te dwa pasowały do ​​siebie.

Lucian
źródło