关于在PyCharm中import numpy 出现from . import _mklinit ImportError: DLL load failed: 找不到指定模块

最近因为一些原因安装了Anaconda3并且重新配置Python环境,但是遇到了一些麻烦的事情。

首先就是在Anaconda已经装好numpy和mkl的情况下,在PyCharm中import numpy,会提示

from . import _mklinit  ImportError: DLL load failed: 找不到指定模块

但是在Jupiter和Spider里面都能正确import numpy,不会出现这个问题。

在网上找了很多解决方法(多数是说python版本和numpy版本不匹配等问题导致,需要重新安装),但都尝试无果。最后终于在https://www.jianshu.com/p/2418311bbad0这篇文章中找到了答案。

因为我以前是直接安装的python而没有用Anaconda的python,看到这篇文章才想起,在环境变量里面保留着原来的python路径,而没有添加Anaconda的路径,将如下的路径添加到PATH之后问题就解决了。

当然,我也看到有些文章(包括Anaconda安装时的提示)说不建议把Anaconda添加到环境变量,但是如果不添加到环境变量似乎就没办法解决PyCharm中无法import numpy这个问题,具体的原因我也不是很清楚,不知道有没有更好的办法,希望大家能够提出来,谢谢。

在环境配置的过程中我还遇到了另外一个问题,就是上述问题解决之后发现又出现一个提示

Intel MKL FATAL ERROR: Cannot load mkl_intel_thread.dll. 

起初我以为是跟mkl的安装过程有关,所以我将mkl卸载了重装却没能解决这个问题。

直到看到这一篇文章https://blog.csdn.net/Steven19920104/article/details/90900470 中提到,可能是由于相关的dll文件没有被程序找到,所以需要把Anaconda目录下的libiomp5md.dll复制到C:\Windows\System32,似乎就能够找到环境中的mkl_intel_thread.dll文件了。

从下图可以看到mkl_intel_thread.dll文件的确是存在于环境之中的,只是没有被程序读取到。

总之,非常感谢这两篇博客的作者的方法帮我解决了这两个问题。我在这里也将这两个问题记录下来,给遇到同样问题的人一个参考。

 

posted @ 2019-07-21 21:29  自闭火柴的玩具熊  阅读(11994)  评论(0编辑  收藏  举报