ImportError:没有名为'matplotlib'的模块 - 使用Anaconda tensorflow环境

时间:2017-02-21 00:07:20

标签: python matplotlib tensorflow importerror conda

我只是想学习Tensorflow,但我对Python很新,所以我使用的是Anaconda 我创建了一个conda环境:

$ conda create −n tensorflow python =3.5

当然我激活了我的conda环境

$ source activate tensorflow

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

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

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

(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环境中加载它,对吧?这就是我的导师的幻灯片所说的

  

没有必要安装更多的软件包,比如numpy或matplotlib,因为Anaconda已经包含了它们的当前版本。'

以及我从Googled和StackOverflowed的所有内容中获取的内容。谷歌搜索和StackOverflowing都没有给我任何好的答案(也可能只是因为我还不够了解)。

我最好的猜测是我仍然必须将matplotlib包含在我的tensorflow conda环境中,但这与我的导师和放大器相矛盾。谷歌,虽然我也不知道该怎么做。

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

conda install matplotlib

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

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还缺了?有人可以证实这是正确的,或者我的康达有什么可疑的吗?

3 个答案:

答案 0 :(得分:7)

您刚刚创建了一个名为tensorflow的conda环境并切换到它。您还没有安装tensorflow软件包或任何默认的anaconda软件包。

要做到这一点,请执行

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

答案 1 :(得分:0)

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

运行

conda create -n tensorflow_gpuenv tensorflow-gpu
conda activate tensorflow_gpuenv

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

conda install -c conda-forge matplotlib

答案 2 :(得分:0)

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

conda activate tf

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

import matplotlib

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