Cree un entorno virtual nuevo con Anaconda Navigator 1.9.6 en Windows 10, seleccione Python 3.7, nombre python37
En la consola 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
(lo mismo con el parámetro --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!
Todos los consejos, reinstalaciones a través de pip y conda, o diferentes versiones numpy (por ejemplo, 1.15.4) no resolvieron este problema para mí.
Si hago varias desinstalaciones de pip numpy hasta que no quede numpy, y luego hago una instalación de conda numpy, la importación de numpy funciona de manera interesante (en 1.15.4).
Una instalación de conda numpy hace lo siguiente:
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
¿Qué le falta al modo pip?
¿Algunas ideas?
Existe una diferencia entre la ubicación de las bibliotecas de soporte adicionales que se proporcionan con anaconda y las que se suministran con el número de existencias que obtiene de pip install
. Esto requiere ajustes en la variable PATH
. Quizás los ajustes de PATH
estén fallando en la importación. ¿Existe el directorio site-packages\numpy\.libs
y contiene archivos *.dll
?, Si es así, puede intentar anteponer ese directorio a su PATH
antes de ejecutar Python:
rem This fails
python -c "import numpy"
rem Does this succeed ???
PATH=path\to\site-packages\numpy\.libs;%PATH%
python -c "import numpy"
Infórmenos si ese directorio existe y si el cambio de ruta se realiza correctamente, indica que el código en numpy\__config__.py
no modifica el os.environ['PATH']
. Quizás haya excedido la longitud permitida de PATH
, o hay algún otro problema con su variable de entorno PATH
.
Anaconda coloca los dlls adicionales en <anaconda install>\Library\bin
y agrega ese directorio a la ruta cuando activa un entorno anaconda. Stock numpy, como se describió anteriormente, intenta agregar el directorio .lib
al final de la variable PATH
.
¡Tu método realmente funciona!
C: \ Users \ Name.conda \ envs \ test37 \ Lib \ site-packages \ numpy.libs existe y hay un archivo en él:
libopenblas.IPBC74C7KURV7CB2PKT5Z5FNR3SIBV4J.gfortran-win_amd64.dll
Probaré una instalación nueva con una ruta inicial más corta para verificar su theroy en aproximadamente una hora.
Pregunta secundaria: ¿No debería haber más dlls en ese camino? Quiero usar OpenMP y mkl con pytorch, no openblas ...
Si desea usar mkl, use conda, no pip
lo siento, use pip install intel-numpy
no pip install numpy
, pero obtendrá numpy 1.15.1 . Conda lo hace más fácil, y parece que estás usando anaconda, por lo que probablemente seguir con conda te dará una experiencia más unificada.
Ok, acorté mi PATH y todavía no funciona con "pip install numpy".
Esto se antepone a mi RUTA si "conda active test37":
RUTA = 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 \ compartimiento;...
Mi RUTA todavía es larga, pero ya no puedo eliminar nada de ella, porque otras herramientas lo necesitan como está.
¿Por qué no hay conda numpy 1.16.1?
¡Gracias por tu ayuda compañero!
(prueba37) D: \ prueba> pip instalar 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 da 1.15.4 que está funcionando bien.
@mattip MUCHAS GRACIAS
Tal vez deberíamos vincular estáticamente y aliviar la necesidad de esta alteración de caminos
¿Podría este problema de edición de PATH en numpy para las versiones más nuevas de Python tener la misma razón?
https://github.com/pytorch/pytorch/issues/4518#issuecomment-463224849 -> https://github.com/pytorch/pytorch/issues/17051
También obtuve el mismo tipo de error para scipy. Después de crear un env usando conda, tuve que desinstalar usando pip e instalar usando conda para todos los paquetes que me crearon un problema. Eso funcionó para mí, aunque no es una solución ideal ya que se trataba de una operación muy manual.
@djdookie : solo para estar seguro de qué funcionó y qué no. Tienes la dll en C:\Users\Name.conda\envs\test37\Lib\site-packages\numpy.libs
. Anteponer eso a PATH antes de iniciar Python funcionó. ¿Podría intentar agregar eso al final de PATH (con un separador ';') y probar si un numpy instalado por pip funciona (tal vez en un nuevo entorno de conda, que cambiaría la ruta)?
Editar: tenga en cuenta que el nuevo entorno tendría una ruta a dll diferente
Parece que esta es una ananconda rota, vea este problema ContinuumIO / anaconda-issues # 10628
Clausura. Anaconda parece haber solucionado el problema que causó esto.
Acabo de descargar la versión más reciente de Windows de conda para python3.7 para Windows 7 y tengo este problema. ¿Podemos reabrir?
Soluciono el problema. Fue un problema de ruta ya que estaba usando WingIDE. Usé estas instrucciones para arreglar
https://wingware.com/blog/anaconda
Específicamente, abrí el símbolo del sistema anaconda e hice "PATH" y lo copié en mi ruta de ala para mi proyecto.
Como referencia, mi RUTA = 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;
Simplemente fui a la carpeta y borré una. Parece que eso lo arregló.
Esto también parece suceder en Jupyter si no "conda activa" el entorno que utilizará ANTES de iniciar Jupyter.
Y también sucede en VS Code si no "conda activa" el entorno ANTES de iniciar vs code. Si uso "código". en el indicador del entorno de conda, funciona.
Esto también parece suceder en Jupyter si no "conda activa" el entorno que utilizará ANTES de iniciar Jupyter.
Esto funcionó para mí. Y el problema parece particularmente en jupyter lab
Resolví mis problemas con los problemas de carga de Numpy DLL reemplazando Anaconda3 con WinPython.
Tengo este problema con WinPaython
Comentario más útil
Existe una diferencia entre la ubicación de las bibliotecas de soporte adicionales que se proporcionan con anaconda y las que se suministran con el número de existencias que obtiene de
pip install
. Esto requiere ajustes en la variablePATH
. Quizás los ajustes dePATH
estén fallando en la importación. ¿Existe el directoriosite-packages\numpy\.libs
y contiene archivos*.dll
?, Si es así, puede intentar anteponer ese directorio a suPATH
antes de ejecutar Python:Infórmenos si ese directorio existe y si el cambio de ruta se realiza correctamente, indica que el código en
numpy\__config__.py
no modifica elos.environ['PATH']
. Quizás haya excedido la longitud permitida dePATH
, o hay algún otro problema con su variable de entornoPATH
.Anaconda coloca los dlls adicionales en
<anaconda install>\Library\bin
y agrega ese directorio a la ruta cuando activa un entorno anaconda. Stock numpy, como se describió anteriormente, intenta agregar el directorio.lib
al final de la variablePATH
.