前言

       首先说,这是我在运行Tensorflow程序时遇到的。起因就是因为我安装了一个不常用的库,在安装了这个库之后再运行脚本就出现了下面的错误。并且console挂掉了额。

ImportError: DLL load failed: 找不到指定的模块。
ImportError: numpy.core.multiarray failed to import

       原因:我猜测的原因是numpy版本出问题了,与tensorflow不兼容了,因为我安装的这个库依赖numpy,所以在安装它的时候重新安装了numpy。

解决方法

       第一时间想到的方法就是卸载了numpy,再重新安装,尝试后发现并不能解决问题。网上所提出的下面的方案尝试后也不行。

pip install -U numpy

       然后我在没卸载tensorflow的情况下,直接安装了tensorflow。

pip install --upgrade --ignore-installed tensorflow

       这时候再运行却报错,环境中有旧版本的numpy库,建议我一一卸载,然后重新安装。于是我用下面的命令卸载了numpy。

pip uninstall numpy

      然后接着删,发现还有一个1.16.4的版本,于是删除后,又用下面的指令看了下还有没有版本。发现还有一个版本。估计就是这个版本低于了我Tensorflow的版本了。(罪魁祸首就是他)

pip show numpy

       继续删除后,又安装了numpy1.17.0版本。

       这时候在运行,可以出现正常的结果了,但是又有一系列系统提示; 

 FutureWarning: Passing (type, 1) or '1type' as a synonym of type is deprecated;
 in a future version of numpy, it will be understood as (type, (1,)) / '(1,)type'.

这个提示的意思就是numpy的版本太高了。这时候我们就需要将numpy安装成刚刚第二个被删除的1.16.4版本。

pip install numpy==1.16.4

       再运行就正常了。问题全部解决。

思考

       仔细想来,这个问题的出现,是因为我在安装库的时候,附带的安装了numpy1.13.1。这是tensorflow检测到了他,发现与tf版本不对应。前面其实走了许多弯路。只需要卸载完所有的numpy,再重新安装对应的版本就好。我得tensorflow是1.14.0版本。应该使用pip uninstall numpy卸载所有的numpy,再安装1.16.4即可。 

        每个人所遇到得问题不一定相同,希望我得经验对你有所帮助。

 

 

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐