16 votes

Installer numpy pour Windows 10: L'importation du module d'extension numpy multiarray a échoué

Je suis nouveau en Python et je tente sans succès d'installer numpy. Le problème actuel est un message d'erreur qui indique, en partie, L'importation du module d'extension multiarray numpy a échoué. Je ne parviens pas à trouver ce message d'erreur sur internet et je demande de l'aide. Le message d'erreur complet est en bas de ce post.

Je pensais d'abord fournir des détails sur le système et la version et décrire ce que j'ai fait. Je suis sur Windows 10 sur une machine 64 bits et j'ai installé Python 2.7.13 depuis https://www.python.org/downloads/windows/

J'ai également installé Anaconda, également pour Python 2.7 et une machine 64 bits, téléchargé à partir d'ici https://www.continuum.io/downloads. Anaconda utilise Python 2.7.12, au lieu de Python 2.7.13. Lorsque je tape import numpy dans l'interface graphique Anaconda IPython, aucune erreur ni aucun avertissement n'apparaît. Néanmoins, j'ai l'impression que l'exécution de numpy à partir de Python 2.7.13 en utilisant IDLE (Python GUI) pourrait être plus rapide sur le plan calculatoire. Python 2.7.13 apparaît en premier dans ma déclaration Path.

J'ai téléchargé numpy-1.12.0rc2+mkl-cp27-cp27m-win_amd64.whl depuis http://www.lfd.uci.edu/~gohlke/pythonlibs/#jpype. Suivant des suggestions de ce post installer numpy à partir du format whell sur Windows (pas de wheel supporté sur cette plateforme), j'ai renommé :

numpy-1.12.0rc2+mkl-cp27-cp27m-win_amd64.whl en : numpy-1.12.0rc2+mkl-cp27-none-win32.whl

manuellement en cliquant sur le nom et en le modifiant. Le fichier renommé se trouve dans le dossier C:\Python27

Ensuite, j'ai utilisé la fenêtre de commande Windows (cmd) pour mettre à jour pip en tapant :

python -m pip install --upgrade pip

Un message indiquait que pip était déjà à jour.

Ensuite, j'ai tapé ce qui suit dans la fenêtre cmd :

pip install numpy-1.12.0rc2+mkl-cp27-none-win32.whl

Un message disait : numpy-1.12.0rc2+mkl installé avec succès. (Avant cela, j'avais tenté d'installer le fichier .whl en utilisant son nom original et j'avais reçu une erreur indiquant que le fichier n'était pas pour ma plateforme.)

Après avoir installé numpy dans Python 2.7.13, j'ai ouvert Python et tapé :

import numpy

Voici le message d'erreur complet qui a été renvoyé :

Traceback (most recent call last):
  File "", line 1, in 
    import numpy
  File "C:\Python27\lib\site-packages\numpy\__init__.py", line 142, in 
    from . import add_newdocs
  File "C:\Python27\lib\site-packages\numpy\add_newdocs.py", line 13, in 
    from numpy.lib import add_newdoc
  File "C:\Python27\lib\site-packages\numpy\lib\__init__.py", line 8, in 
    from .type_check import *
  File "C:\Python27\lib\site-packages\numpy\lib\type_check.py", line 11, in 
    import numpy.core.numeric as _nx
  File "C:\Python27\lib\site-packages\numpy\core\__init__.py", line 24, in 
    raise ImportError(msg)
ImportError: 
L'importation du module d'extension multiarray numpy a échoué. 
Vous essayez probablement d'importer une construction échouée de numpy. 
Si vous travaillez avec un repo git numpy, essayez `git clean -xdf` (supprime tous les
fichiers qui ne sont pas sous le contrôle de version).  Réinstallez sinon numpy.

De nombreux dossiers et fichiers numpy apparaissent maintenant à l'intérieur de C:\Python27

J'ai également essayé les deux commandes suivantes et reçu les messages suivants :

>>> pip show numpy
Erreur de syntaxe : syntaxe non valide
>>> git clean -xdf
Erreur de syntaxe : syntaxe non valide
>>> 

Désolé pour la longueur de ce post, mais je ne sais pas quels détails ci-dessus pourraient être les plus utiles pour diagnostiquer le problème. Je n'utilise Python que depuis environ 24 heures et la plupart de ce temps a été consacré à essayer d'installer numpy dans Python 2.7.13. J'utilise principalement R et je connais un peu le C. Je n'ai pas essayé d'installer d'autres bibliothèques ou packages Python. Peut-être que je manque des dépendances requises par numpy. Merci pour tout conseil ou aide avec ce problème. Si je peux fournir des informations supplémentaires, veuillez me le faire savoir. Désolé si c'est un doublon.

8voto

Samyak Upadhyay Points 313

Dans mon cas, ce problème était lié à numpy. J'ai donc supprimé numpy et l'ai réinstallé. Pour supprimer numpy si vous avez déjà un environnement conda, vous pouvez le faire avec conda remove numpy. Si cette commande supprime également d'autres packages qui dépendent de numpy, alors dans le même environnement, si pip est installé, numpy peut être supprimé en utilisant pip avec pip uninstall numpy et pour le réinstaller, utilisez pip install numpy. Cela devrait probablement résoudre votre erreur.

5voto

Colin Helms Points 56

Ce problème a été largement discuté sur https://github.com/numpy/numpy/issues/9272 avec une solution de contournement qui a fonctionné pour moi. Cela concerne l'environnement Anaconda que vous possédez peut-être.

Citation: tobigithub a commenté le 23 juillet 2017. @njsmith Merci, j'ai confirmé en utilisant une machine virtuelle sur un système Windows 10 propre n'ayant jamais vu de DLL Intel MKL, numpy ou conda, tout fonctionne bien et numpy fonctionne. Je suis juste perplexe sur la façon dont numpy a soudainement cessé de fonctionner, cela pourrait être à cause de tierces parties. Il faut probablement creuser un peu plus, voyons ce que nous pouvons trouver pour rendre numpy à toute épreuve face à tout problème de dépendance.

La solution est en effet liée à certains problèmes de dépendance DLL sous WIN avec les bibliothèques Intel MKL l'erreur d'importation de numpy était sous python 3.6.2 et numpy 1.13.1 :

"import numpy" numpy\core_init_.py", ligne 16, in from . import multiarray ImportError: DLL load failed: Échec lors de l'exécution de la procédure spécifiée.

La solution rapide et sale consiste à copier toutes les bibliothèques Intel mkl*.dll du sous-dossier d'environnements spécifiques (env) (vu sur stackoverflow)

<\Library\bin> vers <\Lib\site-packages\numpy\core>

04/13/2017  12:50 AM        30,277,392 mkl_avx.dll
04/13/2017  12:50 AM        38,253,840 mkl_avx2.dll
04/13/2017  12:50 AM        42,234,640 mkl_avx512.dll
04/13/2017  12:50 AM        45,722,896 mkl_avx512_mic.dll
04/13/2017  12:50 AM        25,369,360 mkl_core.dll
04/13/2017  12:50 AM        24,541,456 mkl_def.dll
04/13/2017  12:50 AM        24,506,640 mkl_intel_thread.dll
04/13/2017  12:50 AM        29,744,400 mkl_mc.dll
04/13/2017  12:50 AM        30,594,320 mkl_mc3.dll
04/13/2017  12:50 AM        12,567,824 mkl_rt.dll
04/13/2017  12:50 AM        11,388,688 mkl_sequential.dll
04/13/2017  12:50 AM        12,575,504 mkl_tbb_thread.dll
04/13/2017  12:50 AM        11,250,960 mkl_vml_avx.dll
04/13/2017  12:50 AM        11,463,952 mkl_vml_avx2.dll
04/13/2017  12:50 AM        10,285,840 mkl_vml_avx512.dll
04/13/2017  12:50 AM        11,692,304 mkl_vml_avx512_mic.dll
04/13/2017  12:50 AM         5,224,208 mkl_vml_cmpt.dll
04/13/2017  12:50 AM         5,345,552 mkl_vml_def.dll
04/13/2017  12:50 AM         9,477,904 mkl_vml_mc.dll
04/13/2017  12:50 AM         9,368,336 mkl_vml_mc2.dll
04/13/2017  12:50 AM         9,593,616 mkl_vml_mc3.dll

Maintenant, numpy peut être importé et fonctionne correctement.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X