【问题标题】:ImportError: No module named 'matplotlib'ImportError:没有名为“matplotlib”的模块
【发布时间】:2017-01-09 21:23:13
【问题描述】:

Python 新手(通常使用 MSDN C# 编写程序),我正在尝试使用 matplotlib 从 .csv 文件生成一些图形

我已经在我的 Windows 10 机器上下载并安装了 Python 和 Anaconda,版本是 Python 3.5.2 和 Anaconda 4.1.1

我打开Python“记事本”界面并做

import matplotlib.pyplot as plt

plt.plot([1,2,3],[3,2,1])

plt.show()

但是当我运行代码时出现错误:

ImportError: 没有名为“matplotlib”的模块

我已经为此查看了其他一些帖子,但它们似乎都与 Mac OSX 或 Linux 有关。有些人指出了 matplotlib 的多次安装,但到目前为止我还没有出现这种情况。可能是什么原因造成的,或者我该如何解决?

**编辑:

从 cmets 中推荐的 import sys 返回给我的路径给了我这个响应

['C:\Users\a.watts.ISAM-NA\Desktop',

'C:\Users\a.watts.ISAM-NA\AppData\Local\Programs\Python\Python35-32\python35.zip',

'C:\Users\a.watts.ISAM-NA\AppData\Local\Programs\Python\Python35-32\DLLs',

'C:\Users\a.watts.ISAM-NA\AppData\Local\Programs\Python\Python35-32\lib',

'C:\Users\a.watts.ISAM-NA\AppData\Local\Programs\Python\Python35-32',

'C:\Users\a.watts.ISAM-NA\AppData\Local\Programs\Python\Python35-32\lib\site-packages',

'C:\Users\a.watts.ISAM-NA\AppData\Local\Programs\Python\Python35-32\lib\site-packages\setuptools-26.1.1-py3.5.egg']

【问题讨论】:

  • 试试这个命令:conda install matplotlib.
  • 你的 matplotlib 安装目录在哪里?是你路径中的那个目录吗? (您可以使用 import sysprint(sys.path) 在 Python 中检查您的路径。)
  • 如果 matplotlib 在 AppData\local\continuum... 中并且你的 python 路径不包含它,那么你可能确实有问题。
  • @AlexWatts 当您尝试在 Python 中导入模块时,解释器将在 sys.path 中列出的目录中搜索具有该名称的模块。如果您的matplotlib 安装目录不在sys.path 中,那么它将无法找到matplotlib。我建议从当前安装位置复制 matplotlib 并将其移动到 C:\...\Python\Python35-32\lib\site-packages
  • Anaconda 为您下载的版本附带了一个 python.exe。 IDLE 的 Anaconda 版本称为 spyder,因此如果您在问题中运行代码,我认为它应该可以工作

标签: python matplotlib


【解决方案1】:

您的系统上基本上有 2 个版本的 python - 您下载的标准版本和 Anaconda 附带的版本。当您在 IDLE 中运行代码时,您使用的是标准版本(在 C:\Users\a.watts.ISAM-NA\AppData\Local\Programs\Python\Python35-32\python.exe 中),其中未安装 matplotlib,这就是您收到错误的原因。

您需要使用已设置的科学资料附带的 Anaconda 版本 (C:\Users\a.watts.ISAM-NA\AppData\Local\continuum\anaconda3\python.exe)。看起来您的系统正在使用cmd 中的这个,所以如果您从那里运行脚本,它应该使用 Anaconda 版本。如果你想使用更具交互性的东西,你也可以使用spyder - IDLE 的 Anaconda 版本 - 或从 cmd 运行 jupyter notebook 以获得基于浏览器的交互式开发平台

【讨论】:

  • 就是这样!因为 Anaconda 将其 IDLE 标记为 Spyder,所以我不知道这是您在其中编写代码的环境。不过现在代码运行没有错误!
猜你喜欢
  • 2016-02-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-12-22
  • 2014-04-15
  • 2014-11-27
  • 2015-10-04
  • 2018-06-14
相关资源
最近更新 更多