我的numpy的版本是1.15.1,我使用的是anaconda环境。 今天在导入numpy库时遇到了一个出乎意料的错误
>>> import numpy
Traceback (most recent call last):
File "C:\Users\peter\AppData\Local\Continuum\anaconda3\lib\site-packages\numpy\core\__init__.py", line 16, in <module>
from . import multiarray
ImportError: DLL load failed: 找不到指定的模块。
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "C:\Users\peter\AppData\Local\Continuum\anaconda3\lib\site-packages\numpy\__init__.py", line 142, in <module>
from . import add_newdocs
File "C:\Users\peter\AppData\Local\Continuum\anaconda3\lib\site-packages\numpy\add_newdocs.py", line 13, in <module>
from numpy.lib import add_newdoc
File "C:\Users\peter\AppData\Local\Continuum\anaconda3\lib\site-packages\numpy\lib\__init__.py", line 8, in <module>
from .type_check import *
File "C:\Users\peter\AppData\Local\Continuum\anaconda3\lib\site-packages\numpy\lib\type_check.py", line 11, in <module>
import numpy.core.numeric as _nx
File "C:\Users\peter\AppData\Local\Continuum\anaconda3\lib\site-packages\numpy\core\__init__.py", line 26, 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.
Original error was: DLL load failed: 找不到指定的模块。
令人惊奇的是我在sypder中import numpy不会报错,而在命令行里import numpy会报上图的错。
解决方法1
这个问题可能是libiomp5md.dll造成的。
如果你的C:\Windows\System32目录下存在libiomp5md.dll这个dll,
而numpy自己也有一个libiomp5md.dl,在C:\Users\peter\AppData\Local\Continuum\anaconda3\Library\bin\libiomp5md.dll 那么numpy很可能会不知道应该加载哪个dll。
解决方法就是把C:\Windows\System32目录下的libiomp5md.dll重命名为libiomp5md.dll.bak(如果其他程序要用到这个DLL,以后再说)
解决方法2
这个问题也有可能是intel的DLL文件造成的。
intel有mkl*.dll在C:\Users\peter\AppData\Local\Continuum\anaconda3\Library\bin目录下,
把这个目录添加到PATH,系统的环境变量里,然后重启终端就可以了(注意替换成自己的目录)。
解决方案3
如果上面的2个解决方案都不能奏效,那么可以尝试重装numpy
pip uninstall numpy
pip install numpy
这个方法有奇效
参考资料:
- import numpy failed with Anaconda 4.0.0 in Windows 7 (maybe related to multiarray) · Issue #835 · ContinuumIO/anaconda-issues
- When trying to use numpy: “DLL Load Failed: The specified procedure could not be found.” · Issue #1508 · ContinuumIO/anaconda-issues
- python - ImportError: DLL load failed when importing Numpy installed in conda virtual environment
文档信息
- 本文作者:last2win
- 本文链接:https://last2win.com/2018/12/07/bug/
- 版权声明:自由转载-非商用-非衍生-保持署名(创意共享3.0许可证)