【问题标题】:python matplotlib MKL fatal error on ubuntu 12.04ubuntu 12.04 上的 python matplotlib MKL 致命错误
【发布时间】:2013-01-24 06:38:03
【问题描述】:

这是我的python代码

1 import matplotlib.pyplot as plt                                                 
2 plt.plot([1, 2, 3, 4])                                                          
3 plt.ylabel('some numbers')                                                      
4 plt.show()                                                                      

当我运行它时,我收到以下错误消息

$ python test.py 

*** libmkl_avx.so *** failed with error : /usr/local/enthought/lib/libmkl_avx.so: undefined symbol: i_free
*** libmkl_def.so *** failed with error : /usr/local/enthought/lib/libmkl_def.so: undefined symbol: i_free
MKL FATAL ERROR: Cannot load neither libmkl_avx.so nor libmkl_def.so

这是我的 python 版本。

$ python --version
Python 2.7.2 -- EPD 7.2-2 (64-bit)

【问题讨论】:

  • 你是如何安装 matplotilb/numpy/scipy 的?
  • 看来我的深思熟虑的 python 安装有问题。当我使用标准的python2.7时,一切都很好。
  • 我使用 sudo apt-get 安装 matplotlib
  • 您版本中的EPD 表明这是Enthought Python 发行版。这应该已经与 matplotlib 一起提供了。 可能在此之上运行 sudo apt-get install matplotlib 会产生一些问题。

标签: python matplotlib ubuntu-12.04 intel-mkl


【解决方案1】:

我意识到这是一个很老的问题,但我遇到了同样的问题并找到了无需重新安装的解决方案,因此对于任何未来的读者来说,这就是我所做的:

@root 在上面评论了一个指向intel forum 的链接。那里的答案之一建议预加载一些 MKL 库。 (日期为 2009 年 10 月 20 日星期二 - 10:32,我不知道如何链接到那里的具体评论)。

这为我解决了这个问题。不过,您需要找到为您存储 libmkl_core.so 和 libmkl_sequential.so 库的位置。对我来说是:

export LD_PRELOAD=/usr/local/Canopy/v152/CanopyCore/appdata/canopy-1.5.2.2785.rh5-x86_64/lib/libmkl_sequential.so:/usr/local/Canopy/v152/CanopyCore/appdata/canopy-1.5.2.2785.rh5-x86_64/lib/libmkl_core.so

/usr/local/Canopy/v152/Canopy_64bit/User/lib/ 中也有副本,但这些版本工作。只有上面那个。

希望这对将来的人有所帮助!

【讨论】:

  • 对于 anaconda,库位于 anaconda2/lib/
【解决方案2】:

更新 python 包。 我在两台不同的机器上两次遇到这个问题。更新解决问题。 Upgrading all packages with pip

【讨论】:

    猜你喜欢
    • 2014-03-10
    • 1970-01-01
    • 1970-01-01
    • 2013-06-26
    • 1970-01-01
    • 2012-09-15
    • 2013-08-08
    • 2017-10-18
    • 2016-05-06
    相关资源
    最近更新 更多