答案 0 :(得分:6)
您应该检查LD_LIBRARY_PATH环境变量并检查您的libpng是否在其中。
python报告的问题是动态加载的问题:重新编译matplotlib没什么可看的。
所以:
使用以下命令查找libpng.14.so的位置:
$>找到libpng.14.so
请注意,该文件必须具有确切的名称,因此您可能必须创建符号链接,例如,如果您有libpng.14.so.0或类似的东西(通常在安装lib时会自动创建符号链接)
如果您没有任何libpng.14.so.something或libpng.14.so,您可能需要重新安装libpng 1.4(与您的软件包管理器或直接从源代码管理器)
检查$ LD_LIBRARY_PATH。如果您需要,请更改它:
$> export LD_LIBRARY_PATH = anewDir:$ LD_LIBRARY_PATH
答案 1 :(得分:0)
答案 2 :(得分:0)
我从macports的py27-matplotlib遇到了类似的问题。在尝试了很多东西后,我注意到我的网站包中有一个来自matplotlib 1.10的旧版本的_png.so。如此链接libpng14而不是我安装的较新版本。
删除旧的(未使用的!)_ png.so,运行port uninstall/clean py27-matplotlib
和新版本后,链接了正确的libpng,并且ipython / pylab再次工作。