在Mac上重新安装Matplotlib

时间:2014-04-03 13:57:05

标签: macos matplotlib libpng freetype

我升级了包并破坏了我的matplotlib安装。现在当我运行import matplotlib.pyplot as plt时,我收到以下错误:

ImportError: dlopen(/usr/local/lib/python2.7/site-packages/matplotlib/ft2font.so, 2):       
Library not loaded: /usr/local/lib/libpng16.16.dylib
  Referenced from: /usr/local/lib/libfreetype.6.dylib
  Reason: image not found

要解决此问题,我使用brew卸载了freetype和libpng。具体来说,我使用brew uninstall freetype && brew cleanup && brew install freetypelibpng使用相同的命令。 我重新安装了matplotlib(pip uninstall matplotlib,然后pip install matplotlib)。

这没有解决它,我不知道下一步是什么能够安装matplotlib(.pyplot)。

5 个答案:

答案 0 :(得分:6)

我遇到了一个非常类似的问题,运行OS X 10.9.2(Mavericks)并尝试让IPython 2.0正常运行。这是我为解决它而采取的措施。

步骤1:卸载matplotlib

$ pip uninstall matplotlib

步骤2:使用libpng v1.5.17

$ brew update
$ cd `brew --prefix` (this brought me to /usr/local)
$ brew versions libpng
$ git checkout c22afb9 Library/Formula/libpng.rb (this gets version 1.5.17)
$ brew install libpng
$ brew switch libpng 1.5.17
$ git checkout -- Library/Formula/libpng.rb

步骤3:使用freetype v2.5.0.1

$ cd `brew --prefix` (this brought me to /usr/local)
$ brew versions freetype
$ git checkout 6314fdb Library/Formula/freetype.rb (this gets version 2.5.0.1)
$ brew install freetype
$ brew switch freetype 2.5.0.1
$ git checkout -- Library/Formula/freetype.rb

步骤4:重新安装matplotlib

$ CFLAGS="-I/usr/X11/include -I/usr/X11/include/freetype2" pip install matplotlib

注意:您可能需要调整CFLAGS以匹配安装了freetype标头的位置(但我假设您之前安装了matplotlib,您知道如何重新安装它)


现在我有一个工作matplotlib:

$ python
Python 2.7.6 (default, Mar  3 2014, 15:04:57) 
[GCC 4.2.1 Compatible Apple LLVM 5.0 (clang-500.2.79)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import matplotlib.pyplot as plt
>>> 

它修复了我在IPython中遇到的matplotlib问题。

我希望这也适合你。

答案 1 :(得分:4)

我遇到了同样的问题。感谢galvanist's blog,以下解决方案适合我。如果您拥有权限(例如,使用virtualenv),则可以删除sudo之前的pip

# possibly optional for you
sudo pip uninstall matplotlib

# possibly optional for you
sudo rm -rf /tmp/pip-build-root/

brew reinstall libpng --universal

brew reinstall freetype --universal

sudo pip install matplotlib

答案 2 :(得分:1)

这是一项建议。

我遇到了和你一样的问题。我已经在OSX上安装了Anaconda。但无论如何,我的matplotlib似乎已经损坏了。所以我删除matplotlib并用pip重新安装它。问题出现了。

就我而言,Frederic的解决方案可以解决image not found问题。但另一个问题出现了:

Traceback (most recent call last):
  File "<pyshell#1>", line 1, in <module>
    import matplotlib.pyplot as plt
  File "/Library/Python/2.7/site-packages/matplotlib-1.3.x-py2.7-macosx-10.8-intel.egg/matplotlib/pyplot.py", line 97, in <module>
  _backend_mod, new_figure_manager, draw_if_interactive, _show = pylab_setup()
  File "/Library/Python/2.7/site-packages/matplotlib-1.3.x-py2.7-macosx-10.8-intel.egg/matplotlib/backends/__init__.py", line 25, in pylab_setup 
    globals(),locals(),[backend_name])   
  File "/Library/Python/2.7/site-packages/matplotlib-1.3.x-py2.7-macosx-10.8-intel.egg/matplotlib/backends/backend_macosx.py", line 21, in <module>
    from matplotlib.backends import _macosx
  ImportError: dlopen(/Library/Python/2.7/site-packages/matplotlib-1.3.x-py2.7-macosx-10.8-intel.egg/matplotlib/backends/_macosx.so, 2): Library not loaded: /System/Library/Frameworks/CoreText.framework/Versions/A/CoreText
    Referenced from: /Library/Python/2.7/site-packages/matplotlib-1.3.x-py2.7-macosx-10.8-intel.egg/matplotlib/backends/_macosx.so

我的最终解决方案是使用conda install matplotlib重新安装matplotlib。然后所有问题都解决了。

答案 3 :(得分:0)

对于那些得到brew versions错误的人来说,这是一个过时的命令。我通过直接转到brew install libpngbrew install freetype来了解它。

安装brew: $ /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

$ cd `brew --prefix` (this brought me to /usr/local)
$ brew install libpng
$ brew install freetype
$ easy_install matplotlib

在我这样做之后,我重新启动了Spyder并且matploblib错误消失了

答案 4 :(得分:0)

对于那些在Spyder遇到同样问题的人。您可以使用conda install libpng来解决问题。