Skip to main content
 首页 » 编程设计

ubuntu 12.04 上的 python matplotlib MKL fatal error

2025年05月04日10pander-it

这是我的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) 

请您参考如下方法:

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

@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/ 中也有副本,但这些版本不有效。只有上面一个。

希望这对以后的人有所帮助!