运行代码时遇到: no module named matplotlib

首先检查pip list

在这里插入图片描述
pip里面存在 matplotlib 若没有就下载 pip install matplotlib 在这里插入图片描述
其次进入Anaconda Prompt 环境检查了conda list
在这里插入图片描述
也存在matplotlib 同样 若没有就下载 conda install matplotlib
在这里插入图片描述
pip conda 两者都存在matplotlib ,为啥还报错????

然后就一直搜解决办法,直到看到一句话:
虽然conda里和pip里都已安装了matplotlib,但很有可能TensorFlow里没有安装,
一语惊醒。。。

然后打开Anaconda Prompt
activate tensorflow
进入TensorFlow环境,检查了下conda list 的确没有在这里插入图片描述

然后就在当前tensorflow环境下准备下载,
conda install matplotlib
然后出现一堆看不懂的吊错误,以为是镜像问题,换了镜像也不行
在这里插入图片描述

最后,
仍在此环境下 通过pip install matplotlib 下载好了
在这里插入图片描述

重新跑代码,完美运行!md 太™爽了

总结反思:

不明白conda pip tensorflow三者的关系,以为前两者里面存在的库,调用TensorFlow时就可以用,其实不然。

总结三者关系:

Anaconda
Anaconda是一个用于科学计算的Python发行版,支持 Linux, Mac, Windows系统,提供了包管理与环境管理的功能,可以很方便地解决多版本python并存、切换以及各种第三方包安装问题。Anaconda利用工具/命令conda来进行package和environment的管理,并且已经包含了Python和相关的配套工具。

Conda
Conda是一个包管理器;Conda是跨平台的包和环境管理器,可以安装和管理来自Anaconda repository以 Anaconda Cloud的conda包。 Conda包是二进制文件,徐需要使用编译器来安装它们。另外,conda包不仅限于Python软件。它们还可能包含C或C ++库,R包或任何其他软件。
conda anaconda区别
这里先解释下conda、anaconda这些概念的差别。conda可以理解为一个工具,也是一个可执行命令,其核心功能是包管理与环境管理。包管理与pip的使用类似,环境管理则允许用户方便地安装不同版本的python并可以快速切换。Anaconda则是一个打包的集合,里面预装好了conda、某个版本的python、众多packages、科学计算工具等等,所以也称为Python的一种发行版。

包管理器是自动化软件安装,更新,卸载的一种工具。Conda,有命令”conda install”, “conda update”, “conda remove”, 所以很明显, conda是包管理器。

conda和Anaconda名字相似,但没有必然关系, 你可以不安装Anaconda的同时, 使用conda安装和管理软件。

Conda是一个通用的包管理器,当初设计来管理任何语言的包。所以用来管理python包当然也是绰绰有余。

Pip
Pip是Python Packaging Authority推荐的用于从Python Package Index安装包的工具(独有的,有局限性和专享性)。 Pip安装打包为wheels或源代码分发的Python软件。后者可能要求系统安装兼容的编译器和库。

pip可以允许你在任何环境中安装python包,而conda允许你在conda环境中安装任何语言包(包括c语言或者python)。

参考原文链接:https://blog.csdn.net/capecape/article/details/78868511

https://blog.csdn.net/taoqick/article/details/56284364?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522162338501216780265446474%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fall.%2522%257D&request_id=162338501216780265446474&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2allfirst_rank_v2~rank_v29-4-56284364.pc_search_result_control_group&utm_term=conda+pip+tensorflow%E4%B8%89%E8%80%85%E7%9A%84%E5%85%B3%E7%B3%BB&spm=1018.2226.3001.4187

补充:
引用博主CSDN博主「uusoso」的文章:
“打个不恰当的比喻,python是一条章鱼,tensorflow就是其中的一种触手。但是章鱼不止tensorflow这一条触手,还有类似于numpy,pandas等等很多条触手。每条触手可以实现一类功能,章鱼要完成一个具体的任务,比如吃饭(假设像人一样吃饭),就需要专门拿馒头的触手去拿馒头,专门拿筷子的触手去拿筷子夹菜,这样通过多条手的配合,共同实现一个具体的任务。”

点睛之笔:
Python是章鱼头,Tensorflow、numpy、pandas是一条条章鱼足,里面的一个个功能是章鱼足上的一个个吸盘;

为什么要安装Anaconda而不是直接从cmd调用Python

我们为什么要安装Anaconda,我直接在电脑里面下载Python然后再安装各个包来使用,不好吗?
想象我们现在有一个房子,里面有书房、卧室、卫生间、客厅、厨房,不同的房间满足我们吃、喝、拉、撒、睡的不同需求,如果把python\tensorflow直接在电脑安装就相当于我把房间的墙都打掉,吃喝拉撒睡都在一个空间里,是这个意思不?可以吗?可以,但没必要。你上厕所时需要菜刀案板吗,你做饭时需要马桶吗?
所以,我们需要Anaconda帮我们把房间打好隔断,然后我们再在书房装上TensorFlow来进行我们的任务。
Anaconda提供了我们环境管理的功能,如建立吃饭的环境、建立学习的环境、建立睡觉的环境等。
————————————————

原文链接:https://blog.csdn.net/dishaohan/article/details/104860334
https://blog.csdn.net/dishaohan/article/details/104860334

Logo

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

更多推荐