【问题标题】:ImportError: No module named 'matplotlib' -- Using Anaconda tensorflow environmentImportError: No module named 'matplotlib' -- 使用 Anaconda tensorflow 环境
【发布时间】:2017-02-21 00:07:20
【问题描述】:

我只是想学习 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 已经包含它们的当前版本。'

还有我从谷歌搜索和 StackOverflowed 中获得的一切。谷歌搜索和 StackOverflowing 都没有给我任何好的答案(也可能只是因为我还不够了解)。

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

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

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 也不见了?有人现在可以确认这是正确的,还是我的 conda 有什么可疑之处?

【问题讨论】:

  • 要明确,由于答案并不完全明确,这是预期的行为,您的环境或 conda 绝对没有问题。

标签: python matplotlib tensorflow importerror conda


【解决方案1】:

您刚刚创建了一个名为 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

【讨论】:

    【解决方案2】:

    我使用这些说明遇到了同样的问题: 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
    

    【讨论】:

      【解决方案3】:

      我在我的 Mac 上遇到了同样的问题。 所以我运行 conda list 来查看 matplotlib 是否已安装。 一旦我发现它丢失了,我就继续运行命令conda install matplotlib。 在此步骤之后验证它是否已正确安装;执行以下操作。

      conda activate tf
      

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

      import matplotlib
      

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

      【讨论】:

        猜你喜欢
        • 2015-09-10
        • 2018-10-28
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-05-30
        • 2016-04-27
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多