Anaconda安装Tensorflow以及Matplotlib 以及错误:RuntimeError: module compiled against API version a but this v

心情久久不能平静下来。。。
首先说明一下本人的安装环境:win10 + CPU版本Tensorflow

这篇博客对安装的过程只是大致地提一下,主要是记录我自己在安装的过程中遇到的问题,确实总会有几个很烦人的小问题让你自己安装的过程与网上大佬们的博客安装过程不一样。。

首先是安装Anaconda以及安装Tensorflow的过程,大家可以参考这篇博客,网上有很多CPU版本Tensorflow的安装教程,个人觉得这一篇很简练而且有效:
Win10下用Anaconda安装TensorFlow
我自己因为遇到的问题,从创建环那里开始重装了很多遍(泪。。),以至于基本把这个过程的命令都记住了,提几个我自己觉得应该注意一点的小问题吧:

  • 首先是一定要在一开始添加清华的镜像源,要不会很慢的
  • 你的所有操作其实都可以在Anaconda Prompt(就是那个黑框的cmd环境)下完成,而且会很方便,所以尽量不要在那个Anaconda Navigator中操作(要不然不熟悉操作的话很容易出错。。这样你就可以再一次熟悉创建环境的过程了)
  • 注意切换环境,一开始会有一个base环境,注意操作的时候切换到你创建的环境里

接下来我着重写一下我自己遇到的问题,是这样的,在创建环境之后,首先使用conda install numpy进行安装Numpy,这是最基础的一个包,然后安装的是Tensorflow,使用的命令是:

pip install --upgrade --ignore-installed tensorflow

这是CPU版本的Tensorflow安装命令,安装后完成之后使用import命令导入numpy以及tensorflow程序运行的都没有错误,但是在导入matplotlib包的时候出现的问题,提示 “No module named ‘matplotlib’”,这本来也不是什么问题,看来是包不存在嘛,使用conda list命令(这个命令可以查看当前环境的所有包)一看,确实没有,那好,安装就是了:conda install matplotlib,安装之后,就是我遇到的最大的问题了,安装之后,在Python中再进行导入的时候,出现了这个错误:
在这里插入图片描述

仔细读一下报错,发现是与Numpy包的版本有关系(报错的第一行),版本有问题,怎么办呢?我先是把Numpy包卸载了,然后重新装一遍(这也是网上的解决方案之一,只是没有成功而已。。),结果发现还是这个问题,然后我一直在网上查找相关的错误,我能找到的所有类似问题里面,是这个关于导入cv包也遇到类似错误的,解决的链接如下:
RuntimeError: module compiled against API version a but this version of numpy is 9
这个问题与我的几乎一致,只是一个是Tensorflow’,一个是cv,下面的大佬给出的解答几乎一致全是:更新Numpy包就可以很愉快的解决问题,好吧,更新Numpy的命令:conda upgrade numpy,我试过之后,发现。。。错误依旧。
然后。。我删除了环境,又重新建了环境,但是仍然有这个问题,这是我想到,既然是Numpy的版本出了问题,是不是在安装Matplotlib的是时候,改变了Numpy的默认版本之类的,注意:这时候我的安装顺序是:
安装Numpy -> 安装Tensorflow -> 安装Matplotlib
在安装到matplotlib的时候,我仔细看了其中的每一步,发现安装过程中列出的包里面,果然提到了Numpy包,然后我的思考过程是这样的:
安装Numpy和Tensoirflow之后,Tensorflow是可以正常使用的,但是安装Matplotlib之后就不行了 —> 原因是Matplotlib的安装影响了Numpy版本(可能),既然如此,那我直接不安装Numpy了,先安装Matplotlib不就好了,既然Matplotlib安装过程里列出来了Numpy,所以它们应该是一块打包安装的,所以!!!!我又重新创建了一遍环境,这次的安装顺序是:

直接安装Matplotlib (然后测试一下,果然Numpy包也一并安装了,这时候Numpy和Matplotlib的功能都没有问题,这样的话我现在的环境只有这一个版本的Numpy了,应该不会有版本问题了)
安装Tensorflow,没有问题!!

没错,我最后的结局方案就是调整了一下三个包的安装顺序,我估计问题就在于安装Matplotlib的时候也会安装Numpy包,会跟之前已经安装的Numpy有冲突,默认的版本应该改变了,所以就造成了之后的Tensorflow的那个问题,而且从报错来看,是默认使用的旧版本,但是要求的是新版本,但是不知道怎么回事,使用更新命令没有更新到,结果就一直导入有异常了,但是大家还是要试一试更新Numpy的命令,我其实也不是很清楚其中的原理(刚开始学习),不过所幸通过这个顺序的调整安装成功了,不过所有的学习都是要仔细观察,这大概是我在这个过程里得到的最大的教训了。

终于把环境搞定了,可以愉快的学习了(。・∀・)ノ

以上~

猜你喜欢

转载自blog.csdn.net/sinat_34328764/article/details/83004257