web-dev-qa-db-fra.com

Installation de numpy pour Windows 10: Échec de l'importation du module d'extension numpy multi-réseaux

Je suis nouveau sur Python et j'essaie en vain d'installer numpy. Le problème actuel est un message d'erreur lisant, en partie, Importing the multiarray numpy extension module failed. Je ne trouve pas ce message d'erreur sur Internet et je demande de l'aide. Le message d'erreur complet se trouve au bas de cet article.

J'ai d'abord pensé que je devrais fournir des détails sur le système et la version et décrire ce que j'ai fait. J'exécute Windows 10 Sur une machine 64 bits et j'ai installé Python 2.7.13 À partir de https://www.python.org/downloads/windows/

J'ai également installé Anaconda, également pour Python 2.7 Et une machine 64 bits, téléchargée à partir d'ici https://www.continuum.io/downloads . Anaconda exécute Python 2.7.12, Plutôt que Python 2.7.13. Lorsque je tape import numpy Dans l'interface graphique de AnacondaIPython, aucune erreur ni avertissement n'apparaît. Néanmoins, j'ai l'impression que l'exécution de numpy depuis l'intérieur de Python 2.7.13 En utilisant IDLE (Python GUI) pourrait être plus rapide sur le plan des calculs. Python 2.7.13 Apparaît en premier dans mon instruction Path.

J'ai téléchargé numpy-1.12.0rc2+mkl-cp27-cp27m-win_AMD64.whl À partir de http://www.lfd.uci.edu/~gohlke/pythonlibs/#jpype Suite aux suggestions de ce post installation de numpy à partir du format de roue sur windows (pas une roue prise en charge sur cette plate-forme.) J'ai renommé:

numpy-1.12.0rc2+mkl-cp27-cp27m-win_AMD64.whl À: 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 la saisie de pip:

python -m pip install --upgrade pip

Un message a indiqué 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 a dit: Successfully installed numpy-1.12.0rc2+mkl. (Avant cela, j'ai essayé d'installer le fichier .whl En utilisant son nom d'origine et j'ai reçu une erreur indiquant que le fichier n'était pas pour ma plate-forme.)

Après avoir installé numpy dans Python 2.7.13 J'ouvre Python et tape:

import numpy

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

Traceback (most recent call last):
  File "<pyshell#0>", line 1, in <module>
    import numpy
  File "C:\Python27\lib\site-packages\numpy\__init__.py", line 142, in <module>
    from . import add_newdocs
  File "C:\Python27\lib\site-packages\numpy\add_newdocs.py", line 13, in <module>
    from numpy.lib import add_newdoc
  File "C:\Python27\lib\site-packages\numpy\lib\__init__.py", line 8, in <module>
    from .type_check import *
  File "C:\Python27\lib\site-packages\numpy\lib\type_check.py", line 11, in <module>
    import numpy.core.numeric as _nx
  File "C:\Python27\lib\site-packages\numpy\core\__init__.py", line 24, in <module>
    raise ImportError(msg)
ImportError: 
Importing the multiarray numpy extension module failed.  Most
likely you are trying to import a failed build of numpy.
If you're working with a numpy git repo, try `git clean -xdf` (removes all
files not under version control).  Otherwise reinstall numpy.

De nombreux dossiers et fichiers numpy apparaissent désormais dans C:\Python27

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

>>> pip show numpy
SyntaxError: invalid syntax
>>> git clean -xdf
SyntaxError: invalid syntax
>>> 

Désolé que ce message soit si long, mais je ne sais pas lequel des détails ci-dessus pourrait être le plus utile pour diagnostiquer le problème. J'utilise seulement Python depuis environ 24 heures et la plupart de ce temps a été consacré à essayer d'installer numpy dans Python 2.7.13. Surtout j'utilise R et j'en connais C. Je n'ai pas essayé d'installer d'autres bibliothèques ou packages Python. Il me manque peut-être des dépendances requises par numpy. Merci pour tout conseil ou assistance concernant ce problème. Si je peux fournir des informations supplémentaires, veuillez me le faire savoir. Désolé s'il s'agit d'un doublon.

14
Mark Miller

Dans mon cas, ce problème était lié à numpy. Donc, j'ai supprimé le numpy et l'ai à nouveau installé. Pour supprimer numpy si vous avez déjà un environnement conda, pouvons-nous faire par 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é à l'aide de pip pip uninstall numpy et pour le télécharger à nouveau, utilisez pip install numpy. Cela devrait probablement corriger votre erreur.

7
Samyak Upadhyay

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. C'est pertinent pour l'environnement Anaconda, je crois que vous l'avez.

Citant: tobigithub a commenté le 23 juillet 2017. @njsmith merci, je viens de confirmer en utilisant un VM sur un système Windows 10 propre qui n'a jamais vu de DLL Intel MKL, numpy ou conda, toutes choses) sont des travaux corrects et engourdis. Je suis simplement perplexe de voir comment engourdi a soudainement cessé de fonctionner, pourrait être des tiers.

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

"import numpy" numpy\core_init_.py ", ligne 16, depuis. import multiarray ImportError: DLL échec du chargement: la procédure spécifiée est introuvable.

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

<\ Library\bin> à <\ 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

numpy peut maintenant être importé et fonctionne correctement.

3
Colin Helms

Il me semble que numpy a été installé pour Python 2.7.13 sur le Windows 10 Ordinateur 64 bits en procédant comme suit. J'ai pu installer numpy pour une version 32 bits ou 64 bits de Python 2.7.13. Les instructions pour les deux sont fournies.

En haut de cette réponse se trouvent mes instructions pour Python 32 bits.
Au milieu se trouvent mes instructions pour 64 bits Python. En bas se trouvent mes instructions pour 64 bits Python en utilisant un fichier de roue.

Je soupçonne que le principal problème dans mon message d'origine est peut-être survenu du fait de ne pas avoir réalisé qu'apparemment la version par défaut de Python téléchargée ici ( https://www.python.org/downloads/ ) est de 32 bits.

Pour installer numpy sur 32 bits Python 2.7.13

  1. désinstallé Anaconda

  2. Anaconda supprimé de User Variables dans le Environment Variables fenêtre

  3. installée Python 2.7.13 sur le site officiel Python: https://www.python.org/

  4. dans la fenêtre de commande tapé:

    C:\users\general1> cd:\python27

  5. Vous avez tenté de mettre à jour pip dans la fenêtre de commande alors que pip était déjà à jour:

    python -m pip install -U pip

  6. dans la fenêtre de commande a utilisé la commande suivante, qui a renvoyé un grand nombre d'erreurs:

    pip install numpy

  7. dans la fenêtre de commande tapé:

    python -m pip install numpy

L'étape 7 semble avoir fonctionné. Il a renvoyé le message suivant:

C:\Python27>python -m pip install numpy
Collecting numpy
  Retrying (Retry(total=4, connect=None, read=None, redirect=None)) 
  after connection broken by 'ProtocolError('Connection aborted.',
  error(10054, 'An existing connection was forcibly 
  closed by the remote Host'))': /simple/numpy/
  Downloading numpy-1.12.0-cp27-none-win32.whl (6.6MB)
    100% |################################| 6.6MB 64kB/s
Installing collected packages: numpy
Successfully installed numpy-1.12.0
  1. Ouvert Python 2.7.13 et tapé:

    importer numpy

Seule l'invite de commande a été renvoyée. Aucune erreur ou avertissement n'a été émis.

Je n'ai pas encore essayé d'utiliser de code nécessitant numpy, mais au moins il semble avoir été installé.

L'étape 7 indique qu'un fichier 32 bits a été téléchargé:

numpy-1.12.0-cp27-none-win32.whl

Je ne sais pas si une version 32 bits de numpy a été installée ou une version 64 bits. Peut-être que le fichier est une version 64 bits qui a été renommé pour dire que c'était une version 32 bits comme décrit dans ma question.

J'ai tapé Python (de Ai-je Numpy 32 bits ou 64 bits? ):

import numpy.distutils.system_info as sysinfo
sysinfo.platform_bits
32

Il semble donc qu'une version 32 bits de numpy a été installée bien que mon Python soit censé être une version 64 bits (d'ici: Comment puis-je déterminer si mon = python Shell s'exécute en mode 32 bits ou 64 bits sur OS X? ):

import platform
platform.architecture()[0]
'32bit'

Peut-être dans l'ensemble de l'installation et de la désinstallation de Python j'ai accidentellement installé une version 32 bits la dernière fois. Je peux réessayer d'installer Python et utiliser la version 64 bits prévue cette fois. Espérons que les mêmes étapes ci-dessus fonctionneront toujours.

Peut-être que si je veux une version 64 bits de Python 2.7.13 Je dois cliquer sur ce qui suit sur la page Web officielle de Python (ici: https://www.python.org/downloads/windows/ ):

Download Windows x86-64 MSI installer

au lieu de sur le premier plan ( https://www.python.org/downloads/ ):

Download Python 2.7.13

Je suis également curieux de savoir d'où le fichier numpy-1.12.0-cp27-none-win32.whl a été téléchargé. Je le fournirai aussi si je le découvre. Peut-être qu'il a été téléchargé à partir d'ici: https://pypi.python.org/pypi/numpy

Pour installer numpy sur 64 bits Python 2.7.13

Les étapes ci-dessus ont fonctionné pour l'installation de numpy pour ce qui s'est avéré être une version 32 bits de Python 2.7.13.

Pour installer numpy pour une version 64 bits de Python 2.7.13 J'ai utilisé les étapes suivantes:

  1. désinstaller Python 2.7.13

  2. Télécharger: python-2.7.13.AMD64.msi en cliquant sur: Download Windows x86-64 MSI installer d'ici: https://www.python.org/downloads/windows/

  3. dans la fenêtre de commande tapé:

    C:\users\general1> cd:\python27

  4. Vous avez tenté de mettre à jour pip dans la fenêtre de commande alors que pip était déjà à jour:

    python -m pip install -U pip

  5. dans la fenêtre de commande a utilisé la commande suivante, qui cette fois n'a renvoyé aucune erreur:

    pip install numpy

qui a renvoyé:

C:\Python27>pip install numpy
Collecting numpy
  Downloading numpy-1.12.0-cp27-none-win_AMD64.whl (7.5MB)
    100% |################################| 7.5MB 63kB/s
Installing collected packages: numpy
Successfully installed numpy-1.12.0
  1. Ouvert Python 2.7.13 et tapé:

    importer numpy

Aucune erreur ou avertissement n'a été renvoyé.

  1. Vérifié si numpy était 64 bits ou 32 bits. C'était en 64 bits.

    importer numpy.distutils.system_info en tant que sysinfo

    sysinfo.platform_bits

    64

Pour installer les fichiers de roue numpy dans Python 2.7.13

Après avoir installé numpy j'ai essayé d'installer scipy et j'ai reçu une erreur: numpy.distutils.system_info.NotFoundError: no lapack/blas resources found (décrit ici Windows Scipy Install: Aucune ressource Lapack/Blas trouvée ).

J'ai fait ce qui suit:

  1. Désinstallé Python 2.7.13

  2. Installée Visual Studio Community 2017 RC comme décrit par drewid (ici: Windows Scipy Install: Aucune ressource Lapack/Blas trouvée )

  3. Installée VCForPython27.msi également tel que décrit par drewid.

J'ai ensuite reçu une erreur scipycannot import name NUMPY_MKL mentionné ici ( ImportError: impossible d'importer le nom NUMPY_MKL ).

J'ai téléchargé les fichiers numpy-1.12.0+mkl-cp27-cp27m-win_AMD64.whl et scipy-0.18.1-cp27-cp27m-win_AMD64.whl d'ici: http://www.lfd.uci.edu/~gohlke/pythonlibs/#numpy comme suggéré par VMAtm.

Alors je:

  1. désinstaller Python 2.7.13

  2. Réinstaller Python 2.7.13 en utilisant python-2.7.13.AMD64.msi

  3. Installée numpy-1.12.0+mkl-cp27-cp27m-win_AMD64.whl de http://www.lfd.uci.edu/~gohlke/pythonlibs/#numpy en utilisant la ligne suivante dans la fenêtre de commande:

    pip install numpy-1.12.0 + mkl-cp27-cp27m-win_AMD64.whl

  4. Installée scipy-0.18.1-cp27-cp27m-win_AMD64.whl de http://www.lfd.uci.edu/~gohlke/pythonlibs/#numpy en utilisant la ligne suivante dans la fenêtre de commande

    installer pip scipy-0.18.1-cp27-cp27m-win_AMD64.whl

numpy et scipy peuvent désormais être importés dans Python 2.7.13

Notez que j'ai placé scipy-0.18.1-cp27-cp27m-win_AMD64.whl et numpy-1.12.0+mkl-cp27-cp27m-win_AMD64.whl dans le dossier c:\Python27 avant d'utiliser les commandes pip susmentionnées.

C:\>cd\Python27

C:\Python27>pip install numpy-1.12.0+mkl-cp27-cp27m-win_AMD64.whl
Processing c:\python27\numpy-1.12.0+mkl-cp27-cp27m-win_AMD64.whl
Installing collected packages: numpy
Successfully installed numpy-1.12.0+mkl

C:\Python27>pip install scipy-0.18.1-cp27-cp27m-win_AMD64.whl
Processing c:\python27\scipy-0.18.1-cp27-cp27m-win_AMD64.whl
Installing collected packages: scipy
Successfully installed scipy-0.18.1

C:\Python27>
3
Mark Miller

J'ai résolu ce problème avec les étapes suivantes:

  1. Création et activation d'un nouvel environnement conda
  2. Installation de numpy dans l'environnement
  3. Puis en utilisant cet environnement pour mon projet

J'utilisais PyCharm pour exécuter (3), je viens de définir l'interpréteur de projet sur l'interpréteur Python dans le nouvel environnement que j'ai créé dans (1)).

0
Sam