【发布时间】: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