【问题标题】:Issue importing matplotlib.pyplot导入 matplotlib.pyplot 的问题
【发布时间】:2014-01-30 02:48:04
【问题描述】:

我对 Python 还是很陌生,刚刚参加了一门课程,现在尝试应用我学到的知识将 matlab 代码转换为 python。我必须绘制一些东西,所以我尝试导入 matplotlib.pyplot 但不断得到

库版本不兼容:_png.so 需要 42.0.0 或更高版本,但 libpng12.0.dylib 提供 41.0.0 版本

我真的不明白如何更新我的 libpng12.0.dylib(因为我不是真正的程序员,只是想学习 python 的人,所以如果这是一个超级简单的问题,请放轻松! ),或者告诉我的 _png.so 去其他地方看看,如果合适的话。我已经对此进行了很多研究,并且我知道在 osX 上安装 matplotlib 存在许多问题,但我还没有看到有关如何解决这个问题的任何信息。

我正在运行 Enthought Canopy,使用 python 2.7,我正在运行 OS X 10.8

非常感谢任何帮助

【问题讨论】:

  • 这是来自 Canopy GUI 还是在终端中运行 (i)python 时?如果是后者,请尝试从 Canopy GUI 中查看问题是否也存在。
  • 它在 Canopy GUI 中。我对在终端中使用 python 感到紧张——我不认为这些包都会在那里。谢谢

标签: macos python-2.7 matplotlib enthought canopy


【解决方案1】:

检查您的 DYLD_LIBRARY_PATH 和 LD_LIBRARY_PATH。确保您的库路径顺序正确。由于安装了 matlab,我最近更改了我的,并且在我建立连接之前花了很长时间才知道它是我的 LD_LIBRARY_PATH 被塞满了。程序按照这些路径指定的顺序搜索库。如果您在树冠之前的库路径中有另一个 libpng(就像我一样),那么它将使用它。如果版本是最新的,则可以,否则会出现这些错误。

首先取消设置它们,然后运行 ​​python 和你的情节。希望这行得通。然后着手修复您的 DYLD_LIBRARY_PATH 和 LD_LIBRARY_PATH。

我把这些放在 /opt/local/lib:/Users/xxxxx/Library/Enthought/Canopy_64bit/User/lib 的前面

我的错误是……

/Library/Enthought/Canopy_64bit/User/lib/python2.7/site-packages/matplotlib/_png.so 原因:库版本不兼容:_png.so需要41.0.0或更高版本,而libpng12.dylib提供40.0.0版本

【讨论】:

  • 同样的问题:你能解释一下如何检查 DYLD_LIBRARY_PATH 和 LD_LIBRARY_PATH 吗?
  • 这取决于您使用的外壳。我猜 bash 因为这是默认设置。在 /Users 下的主文件夹中应该有一个 .profile 或 .bashrc 。尝试打开 .bashrc 在那里你可能会有类似 export DYLD_LIBRARY_PATH=/Some/paths/separated/by/colons:/another 你需要确保正确版本的路径是第一个......甚至可能删除另一个一个不正确的。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-11-03
  • 2013-07-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多