Créez de nouveaux environnements virtuels avec Anaconda Navigator 1.9.6 sous Windows 10, en sélectionnant Python 3.7, en nommant python37
Dans la console de VSCode:
(python37) D:\TfsProj\alphastone>pip install numpy
Collecting numpy
Using cached https://files.pythonhosted.org/packages/41/b8/3a6b07352c2542ca1c89be7583e7ca07bf513895b6ac59ae008054f326b1/numpy-1.16.1-cp37-cp37m-win_amd64.whl
Installing collected packages: numpy
Successfully installed numpy-1.16.1
(idem avec le paramètre --no-cache-dir)
(python37) D:\TfsProj\alphastone>python
Python 3.7.2 (default, Feb 11 2019, 14:11:50) [MSC v.1915 64 bit (AMD64)] :: Anaconda, Inc. on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import numpy
Traceback (most recent call last):
File "C:\Users\Name\.conda\envs\python37\lib\site-packages\numpy\core\__init__.py", line 16, in <module>
from . import multiarray
File "C:\Users\Name\.conda\envs\python37\lib\site-packages\numpy\core\multiarray.py", line 12, in <module>
from . import overrides
File "C:\Users\Name\.conda\envs\python37\lib\site-packages\numpy\core\overrides.py", line 6, in <module>
from numpy.core._multiarray_umath import (
ImportError: DLL load failed: Das angegebene Modul wurde nicht gefunden.
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "C:\Users\Name\.conda\envs\python37\lib\site-packages\numpy\__init__.py", line 142, in <module>
from . import core
File "C:\Users\Name\.conda\envs\python37\lib\site-packages\numpy\core\__init__.py", line 47, in <module>
raise ImportError(msg)
ImportError:
IMPORTANT: PLEASE READ THIS FOR ADVICE ON HOW TO SOLVE THIS ISSUE!
Tous les conseils, réinstallations via pip et conda, ou différentes versions de numpy (par exemple 1.15.4) n'ont pas résolu ce problème pour moi.
Si je fais plusieurs pip désinstalle numpy jusqu'à ce qu'il ne reste plus numpy, puis fais une installation conda numpy, l'importation de numpy fonctionne de manière intéressante (en 1.15.4).
Une installation conda numpy fait ce qui suit:
The following NEW packages will be INSTALLED:
blas pkgs/main/win-64::blas-1.0-mkl
icc_rt pkgs/main/win-64::icc_rt-2019.0.0-h0cc432a_1
intel-openmp pkgs/main/win-64::intel-openmp-2019.1-144
mkl pkgs/main/win-64::mkl-2019.1-144
mkl_fft pkgs/main/win-64::mkl_fft-1.0.10-py37h14836fe_0
mkl_random pkgs/main/win-64::mkl_random-1.0.2-py37h343c172_0
numpy pkgs/main/win-64::numpy-1.15.4-py37h19fb1c0_0
numpy-base pkgs/main/win-64::numpy-base-1.15.4-py37hc3f5095_0
Que manque-t-il pour le chemin pip?
Des idées?
Il y a une différence entre l'emplacement des bibliothèques de support supplémentaires fournies avec anaconda et celles fournies avec le stock numpy que vous obtenez de pip install
. Cela nécessite des ajustements de la variable PATH
. Peut-être que les ajustements PATH
échouent à l'importation. Le répertoire site-packages\numpy\.libs
existe-t-il et contient-il des fichiers *.dll
?, Si oui, pouvez-vous essayer d'ajouter ce répertoire à votre PATH
avant d'exécuter python:
rem This fails
python -c "import numpy"
rem Does this succeed ???
PATH=path\to\site-packages\numpy\.libs;%PATH%
python -c "import numpy"
Veuillez nous faire un rapport si ce répertoire existe et si la modification du chemin réussit, cela indique que le code dans numpy\__config__.py
ne parvient pas à modifier le os.environ['PATH']
. Peut-être que vous avez dépassé la longueur autorisée PATH
, ou il y a un autre problème avec votre variable d'environnement PATH
.
Anaconda place les dll supplémentaires dans <anaconda install>\Library\bin
, et ajoute ce répertoire au chemin lorsque vous activez un environnement anaconda. Stock numpy, comme décrit ci-dessus, essaie d'ajouter le répertoire .lib
à la fin de la variable PATH
.
Votre méthode fonctionne en effet!
C: \ Users \ Name.conda \ envs \ test37 \ Lib \ site-packages \ numpy.libs existe et contient un fichier:
libopenblas.IPBC74C7KURV7CB2PKT5Z5FNR3SIBV4J.gfortran-win_amd64.dll
Je vais essayer une nouvelle installation avec un chemin initial plus court pour vérifier votre jeu dans environ une heure.
Question secondaire: ne devrait-il pas y avoir plus de DLL dans ce chemin? Je veux utiliser OpenMP et mkl avec pytorch, pas openblas ...
Si vous voulez utiliser mkl, utilisez conda, pas pip
désolé, utilisez pip install intel-numpy
non pip install numpy
, mais vous obtiendrez numpy 1.15.1 . Conda facilite les choses et il semble que vous utilisez anaconda, donc vous en tenir probablement à conda vous donnera une expérience plus unifiée.
Ok j'ai raccourci mon PATH et ça ne marche toujours pas avec "pip install numpy".
Ceci est ajouté à mon PATH si je "conda activate test37":
PATH = C: \ Users \ Name.conda \ envs \ test37; C: \ Users \ Name.conda \ envs \ test37 \ Library \ mingw-w64 \ bin; C: \ Users \ Name.conda \ envs \ test37 \ Library \ usr \ bin; C: \ Users \ Name.conda \ envs \ test37 \ Library \ bin; C: \ Users \ Name.conda \ envs \ test37 \ Scripts; C: \ Users \ Name.conda \ envs \ test37 \ poubelle;...
Mon PATH est encore long, mais je ne peux plus rien en retirer, car d'autres outils en ont besoin tel quel.
Pourquoi n'y a-t-il pas de conda numpy 1.16.1?
Merci pour votre aide mate!
(test37) D: \ test> pip install intel-numpy
Collecting intel-numpy
Could not find a version that satisfies the requirement intel-numpy (from versions: )
No matching distribution found for intel-numpy
"conda install numpy" me donne 1.15.4 qui fonctionne bien.
@mattip MERCI BEAUCOUP
Peut-être devrions-nous relier statiquement et atténuer le besoin de cette déformation de chemin
Ce problème d'édition de PATH dans numpy pour les nouvelles versions de python pourrait-il avoir la même raison?
https://github.com/pytorch/pytorch/issues/4518#issuecomment-463224849 -> https://github.com/pytorch/pytorch/issues/17051
J'ai aussi le même type d'erreur pour scipy. Après avoir créé un env à l'aide de conda, j'ai dû désinstaller à l'aide de pip et installer à l'aide de conda pour tous les packages qui créaient un problème pour moi. Cela a fonctionné pour moi, même si ce n'est pas une solution idéale car il s'agissait d'une opération très manuelle.
@djdookie : juste pour être sûr de ce qui a fonctionné et de ce qui n'a pas fonctionné. Vous avez la dll dans C:\Users\Name.conda\envs\test37\Lib\site-packages\numpy.libs
. Le fait de préparer cela à PATH avant de démarrer python a fonctionné. Pourriez-vous essayer d'ajouter cela à la fin de PATH (avec un séparateur ';') et tester si un numpy installé par pip fonctionne (peut-être dans un nouvel environnement conda, ce qui changerait le chemin)?
Edit: notez que le nouvel environnement aurait un chemin d'accès différent à la DLL
Il semble que ce soit un ananconda cassé, voir ce numéro ContinuumIO / anaconda-issues # 10628
Fermeture. Anaconda semble avoir résolu le problème à l'origine de ce problème.
Je viens de télécharger la dernière version Windows de conda pour python3.7 pour Windows 7 et j'ai eu ce problème. Pouvons-nous rouvrir?
Je résous le problème. C'était un problème de chemin car j'utilisais WingIDE. J'ai utilisé ces instructions pour réparer
https://wingware.com/blog/anaconda
Plus précisément, j'ai ouvert l'invite de commande anaconda et fait "PATH" et l'ai copié dans mon chemin d'aile pour mon projet.
Pour référence, mon PATH = C: \ Users \ xx \ AppData \ Local \ Continuum \ anaconda3; C: \ Users \ xx \ AppData \ Local \ Continuum \ anaconda3 \ Library \ mingw-w64 \ bin; C: \ Users \ xx \ AppData \ Local \ Continuum \ anaconda3 \ Library \ usr \ bin; C: \ Users \ xx \ AppData \ Local \ Continuum \ anaconda3 \ Library \ bin; C: \ Users \ xx \ AppData \ Local \ Continuum \ anaconda3 \ Scripts ; C: \ Users \ xx \ AppData \ Local \ Continuum \ anaconda3 \ bin; C: \ Users \ xx \ AppData \ Local \ Continuum \ anaconda3 \ condabin;
Je suis juste allé dans le dossier et en ai supprimé un. Cela semble l'avoir réglé.
Cela semble également se produire dans Jupyter si vous n'activez pas par conda l'environnement que vous utiliserez AVANT de démarrer Jupyter.
Et cela se produit également dans VS Code si vous n'activez pas l'environnement AVANT de démarrer vs code. Si j'utilise "code". dans l'invite d'environnement conda, cela fonctionne.
Cela semble également se produire dans Jupyter si vous n'activez pas par conda l'environnement que vous utiliserez AVANT de démarrer Jupyter.
Cela a fonctionné pour moi. Et le problème semble particulièrement dans Jupyter Lab
J'ai résolu mes problèmes avec les problèmes de chargement de la DLL Numpy en remplaçant Anaconda3 par WinPython.
J'ai ce problème avec WinPaython
Commentaire le plus utile
Il y a une différence entre l'emplacement des bibliothèques de support supplémentaires fournies avec anaconda et celles fournies avec le stock numpy que vous obtenez de
pip install
. Cela nécessite des ajustements de la variablePATH
. Peut-être que les ajustementsPATH
échouent à l'importation. Le répertoiresite-packages\numpy\.libs
existe-t-il et contient-il des fichiers*.dll
?, Si oui, pouvez-vous essayer d'ajouter ce répertoire à votrePATH
avant d'exécuter python:Veuillez nous faire un rapport si ce répertoire existe et si la modification du chemin réussit, cela indique que le code dans
numpy\__config__.py
ne parvient pas à modifier leos.environ['PATH']
. Peut-être que vous avez dépassé la longueur autoriséePATH
, ou il y a un autre problème avec votre variable d'environnementPATH
.Anaconda place les dll supplémentaires dans
<anaconda install>\Library\bin
, et ajoute ce répertoire au chemin lorsque vous activez un environnement anaconda. Stock numpy, comme décrit ci-dessus, essaie d'ajouter le répertoire.lib
à la fin de la variablePATH
.