ImportError: échec de l'importation de numpy.core.multiarray


135

J'essaye d'exécuter ce programme

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()

Mais j'ai un problème avec numpy, j'utilise pyschopy avec opencv. Le problème que je reçois constamment est ce rapport d'erreur:

RuntimeError: module compilé avec la version 7 de l'API mais cette version de numpy est 6

Traceback (dernier appel le plus récent):

Fichier "C: \ Users \ John \ Documents \ EyeTracking \ Programs \ GetImage.py", ligne 1, dans

import cv2

ImportError: échec de l'importation de numpy.core.multiarray

J'ai numpy-1.6.1-py2.7 dans le dossier psychopy, je suis juste confus quant à ce qui ne va pas?

Modifier (réponse supprimée)

La commande suivante

pip install -U numpy 

aide à résoudre le problème: could not load numpy.core.multiarray.


1
J'obtiens le même message d'erreur et j'ai installé numpy-1.9.2.
tommy.carstensen

1
Dans mon cas, j'utilisais la distribution Anaconda sur Windows et le fait d'exécuter conda update pythondeux fois (une fois pour mettre à jour conda, et encore une fois pour mettre à jour python vers 2.7.13) a résolu le problème.
Jason O.

La course a pip install opencv-python==3.4.2.17 numpy==1.14.5fonctionné pour moi
Markus Weber

J'obtiens la même erreur avec NumPy 1.16.3, python 3.7 et le dernier macOS, la mise à niveau vers la 1.16.4 résout le problème.
nngeek

Réponses:


130

J'obtenais la même erreur et j'ai pu la résoudre en mettant à jour mon installation numpy à 1.8.0:

pip install -U numpy

J'obtiens le même message d'erreur et j'ai installé numpy-1.9.2.
tommy.carstensen

@ tommy.carstensen Bonjour, j'ai eu le même problème, j'ai essayé pip install -U numpy, il a téléchargé la dernière version de numpy et a dit qu'il était installé avec succès, mais en fait toujours l'ancienne version
user824624

Était exactement dans le même état ... Pour moi, le problème était la double installation de numpy qui était dans une version en conflit avec d'autres bibliothèques et il masquait la version correcte de numpy installée par conda. Solution: pip désinstaller numpy ... cela a supprimé la version défectueuse de numpy et a ramené la version correcte de numpy à la vie ...
roy650

1
Pour moi, j'avais besoin de supprimer numpy, puis d'installer numpy. ça a marché.
jef

24

Dans le cas où

pip install -U numpy 

ne fonctionne pas (même avec sudo), vous voudrez peut-être vous assurer que vous utilisez la bonne version de numpy. J'ai eu le même problème "numpy.core.multiarray n'a pas réussi à importer", mais c'était parce que j'avais 1.6 installé pour la version de Python que j'utilisais, même si j'ai continué à installer 1.8 et supposé qu'il était installé dans le bon répertoire.

J'ai trouvé la mauvaise version numpy en utilisant la commande suivante dans mon terminal Mac:

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

Cette commande m'a donné la version et l'emplacement de numpy que j'utilisais (il s'est avéré que c'était 1.6.2). Je suis allé à cet emplacement et je l'ai remplacé manuellement par le dossier numpy pour 1.8, ce qui a résolu mon problème "numpy.core.multiarray n'a pas réussi à importer". Espérons que quelqu'un trouve cela utile!

Remarque : pour la commande, utilisez un double trait de soulignement avant et après 'version' et 'fichier'


salut, j'ai rencontré le même problème, pourriez-vous m'indiquer comment remplacer le dossier
numpy

Salut, vous devrez regarder le chemin donné après la commande python -c et le trouver sur votre ordinateur. Je suis sûr que vous pouvez rm le répertoire sur OSX via un terminal, mais je l'ai fait manuellement et cela a résolu mon problème.
alexfigtree

AttributeError: l'objet 'module' n'a pas d'attribut 'file'
xApple

1
@xApple Ajouter des dunderscores (cela signifie: double tiret bas) avant et après les versions et le fichier
Hamlett

Vous pouvez également simplement essayer de désinstaller le numpy défectueux. Ensuite, vérifiez si vous avez une version numpy différente qui "augmentera" (comme je l'avais fait) et si nécessaire, réinstallez-la.
roy650

17

Si vous souhaitez une version spécifique:

pip install numpy==1.8

Si je fais cela, j'obtiens une erreur de cl.exe: impossible de lier un simple programme C
snoob dogg

2
J'ai numpy 1.11, et j'ai «impossible de charger numpy.core.multiarray». L'installation de la version 1.15.2 comme indiqué ci-dessous l'a corrigé.
Craig

14

Essayez sudo pip install numpy --upgrade --ignore-installed.

Cela fonctionne sous Mac OS 10.11.

Vous devriez fermer le 'Rootless' si le shell ci-dessus ne fonctionne pas.


Rootless est la `` protection de l'intégrité du système '' dans OSX 10.11
Startry

12

Si vous utilisez python3, la commande suivante résout le problème sous macos.

python3 -m pip install numpy -I


Cela a fonctionné mais j'ai utilisé python -m pip install numpy -I
Ahmad Moussa

7

vous devrez peut-être mettre à jour le pip, cela fonctionne pour moi

pip install --upgrade pip
pip install -U numpy


6

J'ai eu le même message d'erreur, après avoir essayé certaines des solutions suggérées sans succès, j'ai trouvé que je devais exécuter:

pip uninstall numpy

plusieurs fois. Chaque fois que plusieurs fichiers différents ont été signalés pour suppression, à partir de différentes versions de numpy qui s'étaient accumulées sur mon système.

Une fois qu'il ne restait plus rien à désinstaller, il s'agissait de

pip install numpy

J'espère que cela aide quelqu'un!


Cela a été très utile <3
Atinesh

4

pour moi, cette erreur est survenue lors de l'installation de pygrib avec conda et de son importation.

conda install -c conda-forge numpy

résolu le problème.


cela a résolu le problème pour moi lorsque j'ai eu l'erreur mentionnée lors de "l'importation tensorflow"
Mona Jalal

Cela a résolu mon problème lorsque j'utilise opencv, Anaconda python devrait utiliser cette méthode, pip ou pip3 aggravera les choses.
raidsan

3

Dans mon cas, ce problème était dû au fait que j'avais deux installations python (2.7 et 3.5) et que pip installait numpy dans le répertoire python 3.5 uniquement, quelle que soit la version de pip que j'ai utilisée.

J'ai résolu le problème en spécifiant explicitement le répertoire d'installation cible en tant que tel:

pip install --target c:\apps\python-2.7\Lib\site-packages numpy

3

Je ne comprends pas vraiment cette erreur mais j'ai résolu cette erreur avec ci-dessous.

pip install -U opencv-python

J'espère que cela a été utile!


3

Dans mon cas, l'installation d'apt a résolu mon problème.

Vous pouvez essayer de le désinstaller à partir de pip et de l'installer à partir d'apt (si vous utilisez ubuntu etc.)

pip3 uninstall numpy
sudo apt-get install python3-numpy

3

J'obtenais la même erreur et le problème a été résolu en mettant à jour mon installation numpy de 1.7.1 à 1.12.1

pip install -U numpy

Les éléments suivants étaient ma séquence cmd lorsque l'erreur s'est produite, légèrement différente de celle ci-dessus:

$ 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

2

Après avoir fait un cauchemar en utilisant le pip install -U numpy il y a plusieurs mois, j'ai abandonné. Je suis passé par l'installation de CV2 et d'opencv sans succès.

J'utilisais numpy ver 1.9.1 sur python34 et la mise à jour n'arrêtait pas de se bloquer sur 1.9.

Je suis donc allé sur https://pypi.python.org/pypi/numpy et j'ai découvert la dernière version numpy pour mon python3.4.

J'ai téléchargé le fichier .whl et je l'ai copié dans le dossier contenant mon installation python, C: \ Python34, dans mon cas.

J'ai ensuite exécuté pip intall sur le nom du fichier et je peux maintenant importer cv2 sans problème.

Assurez-vous de fermer python avant de commencer, évident mais essentiel


2

Cela a fonctionné pour moi. Vous pouvez donc essayer la commande suivante

$ pip install numpy -I

1

J'ai eu la même erreur lorsque j'utilisais la version numpy suggérée par le requirements.txt dans le repo. Lorsque j'ai essayé «d'importer des pandas en tant que PD», cette erreur s'est produite. Ensuite, la solution était de mettre à niveau la version numpy vers la 1.15.2 car la version suggérée dans les exigences ne correspondait pas aux pandas. J'ai désinstallé la version numpy existante avec pip et réinstallé la nouvelle version.

pip install numpy==1.15.2 

J'espère que cela aide quelqu'un


1

J'ai pu résoudre le problème en mettant à jour mon python vers la version 3.8. J'utilise Macbook Air avec Catalina. Le problème a commencé pour moi après la mise à jour de TensorFlow. Après sa mise à jour, l'erreur ne disparaît pas après avoir désinstallé et installé numpy plusieurs fois.

Enfin, j'ai téléchargé le package python3.8 à partir du site Web de python et l'ai installé. Ensuite, j'ai installé numpy et cela a fonctionné.


0

La même erreur est venue pour moi. Le problème est que vous avez peut-être créé un fichier appelé numpy.py. Ce fichier peut coïncider avec la bibliothèque numpy. Alors, supprimez ce fichier numpy.py et le problème sera résolu.


0

J'ai eu la même erreur après avoir installé python et opencv dans mon lecteur D: (C: fonctionne sur un SSD). Le problème semblait être que mon chemin d'exécution se trouvait dans le dossier numpy. Vous pouvez vérifier si c'est le problème avec ce code:

import numpy
numpy.version.version

Dans le cas où il récupère une erreur liée au chemin d'exécution, exécutez votre code d'origine ailleurs. Cela a résolu l' erreur impossible de charger numpy.core.multiarray pour moi


0

Cela m'a aidé

sudo pip3 install --upgrade --target=/home/<username>/.local/lib/python3.6/site-packages numpy

0

Pour moi, c'était en deux parties. Première:

pip uninstall numpy

Puis @Oli Blum répond (merci):

conda install -c conda-forge numpy

Cela a fait l'affaire pour moi


0

J'ai rencontré ce problème lors de la tentative d'importation de Pytorch. Résolu le problème en désinstallant numpy à plusieurs reprises jusqu'à ce qu'il ne reste plus de version sur mon Ubuntu et en installant la dernière version.

Courez sudo pip uninstall numpy. S'il refuse de supprimer le package d'un <location>, exécutez sudo rm -r <location>. Répétez ci-dessus jusqu'à ce que la première commande ne fasse rien et import numpyne trouve pas le package dans le shell Python.

Installez numpy à l'aide de pip.



0

J'ai eu le même problème, et voici comment il est résolu dans mon cas.

J'ai essayé pip install -U numpymais cela n'a pas mis à jour numpy, mais a conda installfonctionné pour moi

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%

0

Dossiers Tilde

Dans le cas où la pip uninstall numpyréinstallation de Numpy ne fonctionne pas. Vérifiez votre dossier site-packages pour les sous-dossiers commençant par un tilde ~

Ces dossiers concernent les installations de pip qui ont été mutilées et l'installation a été interrompue en cours de route. Les dossiers tilde n'étaient destinés qu'à être des dossiers tmp, mais ont fini par devenir permanents. Dans mon cas, il y avait un fichier appelé ~ mpy qui était un dossier Numpy hérité mutilé. Cela a conduit à des problèmes de compatibilité et d'ImportErrors.

Ces dossiers mutilés peuvent être supprimés en toute sécurité, pour plus de détails, voir cette réponse


0

J'ai eu cette même erreur dans un environnement conda, seulement six ans plus tard. Les autres réponses ont été utiles, et finalement je l'ai retracé jusqu'à ce problème:

> 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

Le problème était que «numpy» était une version différente de «numpy-base». J'ai résolu cela avec:

> conda install numpy-base=1.14.5

donc les deux se correspondaient.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.