【问题标题】:Installing Matplotlib in Windows 10 64bits在 Windows 10 64 位系统中安装 Matplotlib
【发布时间】:2017-10-17 14:18:25
【问题描述】:

谁能告诉我应该下载哪些文件以及必须在命令行中执行哪些语句才能安装 Matplotlib?

我在 Windows 10 64 位上安装了 Python 2.7.13。
这些是我解压后的文件:

全部下载自:http://www.lfd.uci.edu/~gohlke/pythonlibs/#numpy

我执行的命令:

python -m pip install -U pip setuptools
python -m pip install matplotlib

python -m pip install -U pip

检查是否安装了 Numpy 和 Matplotlib 时出现这两个错误。

>>> import numpy

**Traceback (most recent call last):
  File "<pyshell#3>", line 1, in <module>
    import numpy
  File "numpy\__init__.py", line 142, in <module>
    from . import add_newdocs
  File "numpy\add_newdocs.py", line 13, in <module>
    from numpy.lib import add_newdoc
   File "numpy\lib\__init__.py", line 8, in <module>
    from .type_check import *
  File "numpy\lib\type_check.py", line 11, in <module>
    import numpy.core.numeric as _nx
  File "numpy\core\__init__.py", line 26, in <module>
    raise ImportError(msg)
ImportError: 
Importing the multiarray numpy extension module failed.  Most
likely you are trying to import a failed build of numpy.
If you're working with a numpy git repo, try `git clean -xdf` (removes   all
files not under version control).  Otherwise reinstall numpy.
Original error was: DLL load failed: %1 no es una aplicación Win32     válida.**

>>> import matplotlib

Traceback (most recent call last):
  File "<pyshell#4>", line 1, in <module>
    import matplotlib
  File "matplotlib\__init__.py", line 122, in <module>
    from matplotlib.cbook import is_string_like, mplDeprecation, dedent,     get_label
  File "matplotlib\cbook.py", line 33, in <module>
import numpy as np
  File "numpy\__init__.py", line 142, in <module>
    from . import add_newdocs
  File "numpy\add_newdocs.py", line 13, in <module>
    from numpy.lib import add_newdoc
  File "numpy\lib\__init__.py", line 8, in <module>
    from .type_check import *
  File "numpy\lib\type_check.py", line 11, in <module>
    import numpy.core.numeric as _nx
  File "numpy\core\__init__.py", line 26, in <module>
    raise ImportError(msg)
ImportError: 
Importing the multiarray numpy extension module failed.  Most
likely you are trying to import a failed build of numpy.
If you're working with a numpy git repo, try `git clean -xdf` (removes     all
files not under version control).  Otherwise reinstall numpy.

Original error was: DLL load failed: %1 no es una aplicación Win32     válida.

【问题讨论】:

  • 错误似乎不是来自matplotlib,而是错误消息提示“Most likely you are trying to import a failed build of numpy.”。你安装numpy了吗?
  • @cgohlke 你描述的策略对我来说从来没有奏效过。因此,在您的站点上提供预编译的软件包以供手动下载是很棒的;我将它们用于每个可用的库更新。
  • @cgohlke 这可能不是讨论这个问题的最佳场所,但举个例子:今天早上我将 matplotlib 从版本 2.0.0 更新到 2.0.2。这个版本需要比我以前更新的 numpy 版本。因此,在使用 pip 安装 matplotlib 期间,它收集了 numpy 1.12 并安装了它。在那之后,什么都没有了。我需要做的是从您的站点下载相应的轮子,安装 numpy 轮子,然后安装 matplotlib 轮子,现在一切正常。所以出于某种原因 pip 没有收集到正确的 numpy 版本,因此有轮子可用是件好事。

标签: python python-2.7 numpy matplotlib


【解决方案1】:

这是common issue for windows users。而且您可能还需要一些其他库的预编译包,例如scipy.

您会在SourceForge 上找到名称结构为 numpy-X.X.X-win32-superpack-python2.7.exe 的 numpy 超级包,例如numpy-1.9.2-win32-superpack-python2.7

Pypi(Python Package Index)上,你会找到matplotlib库,其名称结构是matplotlib-XXXwin32-py2.7.exe,例如matplotlib-1.4.3.win32-py2.7.exe

【讨论】:

  • 我很好奇这个-1。我很高兴知道为什么,因为 这有效(在 Windows10 64 位中测试)并解决了问题
  • 我认为有人无缘无故地否决了所有答案和问题。这可能会发生,不要花太多时间去想它。顺便提一句。我没有投票给你,因为这个问题已经告诉我们他有所有可用的包(因此没有理由拒绝投票,但也不是一个很好的答案)。
【解决方案2】:

通过 pip 通过自动从 python 索引下载文件来安装 matplotlib,就像你在这里尝试做的那样,对于 Windows 来说很可能会失败。

有两个主要选项:

  1. 安装一个完整的发行版,如 Anaconda、Canopy、WinPython 等,其中已经包含了所有相应的库。

  2. 使用预编译的轮子。这些信息的来源确实是 Christoph Gohlke 的 this site。然后,您需要确保首先安装所有依赖项,最后安装 matplotlib。从 numpy 开始是最好的,然后是其他依赖项,最后是 matplotlib。要安装这些使用

    pip install <filename of wheel>
    

    例如

    pip install numpy‑1.13.0rc1+mkl‑cp27‑cp27m‑win_amd64.whl
    

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-03-17
    • 1970-01-01
    • 2017-04-09
    • 2017-06-01
    • 2015-11-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多