Matplotlib -- libpng错误: 应用程序和库中的libpng版本不兼容

8
我通过以下方式安装了 Matplotlib:

pip install matplotlib

当我尝试使用它保存PNG文件时,出现以下情况:
Application was compiled with png.h from libpng-1.6.21
libpng warning: Application  is  running with png.c from libpng-1.2.44
libpng error: Incompatible libpng version in application and library

ldconfig -p | grep libpng 给我返回:

libpng12.so.0 (libc6,x86-64) => /lib/x86_64-linux-gnu/libpng12.so.0
libpng12.so.0 (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libpng12.so.0
libpng12.so (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libpng12.so

我首先从源代码构建了libpng1.6.21,并将其lib/加入到我的LD_LIBRARY_PATH中。但是,ldconfig -p | grep libpng仍然给我返回和之前一样的结果。我尝试重新构建ldconfig,但仍然只有libpng12
我该如何让matplotlib选取新安装的libpng1.6.21
为什么新的libpng1.6.21已经在我的LD_LIBRARY_PATH中,但不被ldconfig索引?

1
你的LD_LIBRARY_PATH是什么样子?我认为你需要让libpng1.6.21的目录在libpng1.2.44的目录之前。 - Ken
2个回答

1

一个快速的解决办法是通过指定自定义值LD_LIBRARY_PATH来运行你的解释器/脚本,例如:

LD_LIBRARY_PATH=/your/ld/path python

或者:

 export LD_LIBRARY_PATH=/your/ld/path
 python

如果您想要更持久的解决方案,可以在.profile或类似文件中更新LD_LIBRARY_PATH


1

我之前遇到过同样的问题。但是如果先导入matplotlib,它就能正常工作。我不知道为什么。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接