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中的
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矛盾,而我也不知道如何做到这一点。
编辑:
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。
一旦发现它丢失,我就继续运行命令
完成此步骤后,确认其安装正确;请执行下列操作。
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 |