我升级了包并破坏了我的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 freetype
和libpng
使用相同的命令。
我重新安装了matplotlib(pip uninstall matplotlib
,然后pip install matplotlib
)。
这没有解决它,我不知道下一步是什么能够安装matplotlib(.pyplot
)。
答案 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 libpng
和brew 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
来解决问题。