关于python:ImportError:没有名为’matplotlib’的模块-使用Anaconda Tensorflow环境

ImportError: No module named 'matplotlib' — Using Anaconda tensorflow environment

我只是想学习Tensorflow,但对于Python来说是全新的,所以我正在使用Anaconda
我创建了一个conda环境:

1
$ conda create ?n tensorflow python =3.5

我当然激活了我的conda环境

1
$ source activate tensorflow

然后我在Spyder中玩了一下,试图绘制一个MNIST数字(我的老师的复制粘贴代码经过了多次测试),它当然包括

1
2
3
import matplotlib.pyplot as plt
[...]
plt.plot(number)

但是用bash执行Python文件会给我:

1
2
3
4
5
(tensorflow) leon@leon-linux:~/ANNsCourse/Session1$ python helloWorld.py
Traceback (most recent call last):
  File"helloWorld.py", line 10, in <module>
    import matplotlib.pyplot as plt
ImportError: No module named 'matplotlib'

我现在很困惑,因为bash中的(tensorflow)显然表示我的conda tensorflow环境有效(至少从我的理解)。另外,据我了解,conda应该内置了matplotlib,对吗?而且它也应该在我的conda tensorflow环境中加载它,对吗?这就是我老师的幻灯片说的

There is no need to install further packages like numpy or matplotlib, since Anaconda contains current versions of them already.'

以及我从Googled和StackOverflowed中获得的一切。 Googling和StackOverflowing都没有给我任何好的答案(可能还因为我还不够了解)。

我最好的猜测是我仍然必须将matplotlib包含到我的tensorflow conda环境中,但这将与我的导师和Google矛盾,而我也不知道如何做到这一点。

编辑:conda list给我,matplotlib不在我的张量流环境中,所以我去了

1
conda install matplotlib

我仍然担心我的conda tensorflow环境出了问题,默认情况下matplotlib不应该在那里吗?它还告诉我:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
Package plan for installation in environment /home/leon/.conda/envs/tensorflow:

The following NEW packages will be INSTALLED:

cycler:           0.10.0-py35_0    
dbus:             1.10.10-0        
expat:            2.1.0-0          
fontconfig:       2.12.1-3        
freetype:         2.5.5-2          
glib:             2.50.2-1        
gst-plugins-base: 1.8.0-0          
gstreamer:        1.8.0-0          
icu:              54.1-0          
jpeg:             9b-0            
libffi:           3.2.1-1          
libgcc:           5.2.0-0          
libiconv:         1.14-0          
libpng:           1.6.27-0        
libxcb:           1.12-1          
libxml2:          2.9.4-0          
matplotlib:       2.0.0-np112py35_0
mkl:              2017.0.1-0      
numpy:            1.12.0-py35_0    
pcre:             8.39-1          
pyparsing:        2.1.4-py35_0    
pyqt:             5.6.0-py35_2    
python-dateutil:  2.6.0-py35_0    
pytz:             2016.10-py35_0  
qt:               5.6.2-3          
sip:              4.18-py35_0      
six:              1.10.0-py35_0    

Proceed ([y]/n)? y

哪个告诉我也缺少numpy?有人可以立即确认这是正确的吗,还是我的conda有点东西?


您刚刚创建了一个名为tensorflow的conda环境并切换到其中。您尚未安装tensorflow软件包或任何默认的anaconda软件包。

为此,做

1
2
3
conda create -n tensorflow python=3.5 anaconda # install anaconda3 default packages
source activate tensorflow # switch into it
conda install -c conda-forge tensorflow # install tensorflow


我在Mac上遇到了同样的问题。
因此,我运行了conda列表以查看是否已安装matplotlib。
一旦发现它丢失,我就继续运行命令conda install matplotlib
完成此步骤后,确认其安装正确;请执行下列操作。

1
conda activate tf

这将激活anaconda上的tensorflow环境。
之后,在同一终端上启动交互式python shell。

1
import matplotlib

如果安装正确,则现在不应抛出任何错误。


使用以下说明,我遇到了相同的问题:
https://www.anaconda.com/tensorflow-in-anaconda/
对于tensorflow-gpu。

跑步

1
2
conda create -n tensorflow_gpuenv tensorflow-gpu
conda activate tensorflow_gpuenv

应该确保"现在已安装TensorFlow并可以使用。"
但事实并非如此。运行" conda list"显示未安装matplotlib。因此,您还需要安装它:

1
conda install -c conda-forge matplotlib