如何以 Macintosh Yosemite 用户身份安装 Matplotlib

How do I install Matplotlib as a Macintosh Yosemite User

我是 Macintosh Yosemite 用户。当我尝试导入 matplotlib 时,出现以下错误。

    import matplotlib
Traceback (most recent call last):
  File "<pyshell#11>", line 1, in <module>
    import matplotlib
  File "/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/site-packages/matplotlib/__init__.py", line 180, in <module>
    from matplotlib.cbook import is_string_like
  File "/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/site-packages/matplotlib/cbook.py", line 33, in <module>
    import numpy as np
  File "/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/site-packages/numpy/__init__.py", line 170, in <module>
    from . import add_newdocs
  File "/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/site-packages/numpy/add_newdocs.py", line 13, in <module>
    from numpy.lib import add_newdoc
  File "/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/site-packages/numpy/lib/__init__.py", line 8, in <module>
    from .type_check import *
  File "/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/site-packages/numpy/lib/type_check.py", line 11, in <module>
    import numpy.core.numeric as _nx
  File "/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/site-packages/numpy/core/__init__.py", line 6, in <module>
    from . import multiarray
ImportError: cannot import name 'multiarray'

当我使用 from pylab import axis 时,效果很好。我不知道发生了什么,我只是迷路了。我尝试过使用自制软件、macports 安装、dmg 安装。我也没有通过终端安装东西的经验,所以我只是按照别人说的去做。不过,那还是不行。

Mac OS X 默认带有 python。自制软件提供了一个。我建议使用 homebrew python 而不是默认的 python.

在这里,我怀疑您的 numpy 安装已进入由非自制 pip 包管理器管理的站点包目录,而 matplotlib 包安装在不同的 site-packages 目录。 (但我不确定)。然而,它与使用多个 python/包管理器有关。这可能不是最好的答案,但到目前为止,我能想到的解决问题的唯一解决方案是卸载 pip 并删除文件系统上可以找到的任何 python site-packages 目录中的所有内容, .并再次通过 homebrew 安装 python,然后使用 pip 安装所有需要的包(当你使用 homebrew 安装 python 时会自动安装)

警告:确保列出软件包名称并将名称存储在某处,然后再删除它们,因为您将不得不重新安装它们。

brew uninstall python
#(ATTN) Uninstall macports and don't use it with brew
#(ATTN) Delete the contents of all python site-packages directories
rm /usr/local/lib/python2.7/site-packages/*
brew install python
# Homebrew comes with its own pip installed
pip install <package1>, <package2> ...

这是一个遇到类似问题的人提出的相关问题: Numpy build fails with cannot import multiarray

我的建议:不要同时使用HomebrewMacports或任何其他包管理器。他们互相搞砸了,我已经面临 past.I 的后果,现在就使用 homebrew python。对于安装科学 python 包,Anaconda 或 Canopy(选择一个)都非常有用,它们可以安装在自制软件 python.

之上

在遇到很多与您描述的问题类似的问题后,使用 sudo pip install -U matplotlib 对我来说效果很好。