ImportError with scipy/sklearn: `/usr/lib/liblapack.so.3gf: undefined symbol: ATL_chemv`
我的代码在Ubuntu 12.04中运行良好,但现在我有错误:
1 2 3 4 | from sklearn.metrics import accuracy_score File"/usr/local/lib/python2.7/dist-packages/sklearn/metrics/__init__.py", line 6, in from .metrics import (accuracy_score, File"/usr/local/lib/python2.7/dist-packages/sklearn/metrics/metrics.py", line 25, in from scipy.spatial.distance import hamming as sp_hamming File"/usr/local/lib/python2.7/dist-packages/scipy/spatial/__init__.py", line 91, in from .qhull import * ImportError: /usr/lib/liblapack.so.3gf: undefined symbol: ATL_chemv |
我不明白这个错误意味着什么,我该怎么办。
可以试试这个
1 | sudo update-alternatives --set liblapack.so.3gf /usr/lib/lapack/liblapack.so.3gf |
这是我对发生的事情的猜测:
您在运行Ubuntu 12.04时安装的
当你(大概)将Ubuntu从12.04升级到你现在使用的任何版本时,LAPACK也升级到了更新的版本。在Ubuntu> = 13.04的版本中,
现在
我建议你先尝试使用pip卸载并重新安装
如果这不起作用,我会尝试卸载任何当前安装的LAPACK库。这可能会迫使您也卸载
只需安装
1 | apt-get install liblapack3 |