无法导入numpy:错误:/usr/lib/liblapack.so.3:undefined symbol:gotoblas

时间:2014-09-28 18:53:06

标签: python numpy lapack blas openblas

当我尝试导入numpy时,我收到以下错误:

/usr/local/lib/python2.7/dist-packages/numpy/linalg/__init__.py in <module>()
     49 from .info import __doc__
     50 
---> 51 from .linalg import *
     52 
     53 from numpy.testing import Tester

/usr/local/lib/python2.7/dist-packages/numpy/linalg/linalg.py in <module>()
     27     )
     28 from numpy.lib import triu, asfarray
---> 29 from numpy.linalg import lapack_lite, _umath_linalg
     30 from numpy.matrixlib.defmatrix import matrix_power
     31 from numpy.compat import asbytes

ImportError: /usr/lib/liblapack.so.3: undefined symbol: gotoblas

我已经尝试过发布Error by import numpy: lapack_lite.so: undefined symbolGotoBLAS error when installing matplotlib with pip in a virtualenv on debian wheezy

的解决方案

我已经尝试了以下所有选项:

vvkulkarni@galileo:~$ sudo update-alternatives --config liblapack.so.3
There are 3 choices for the alternative liblapack.so.3 (providing /usr/lib/liblapack.so.3).

  Selection    Path                                      Priority   Status
------------------------------------------------------------
* 0            /usr/lib/openblas-base/liblapack.so.3      40        auto mode
  1            /usr/lib/atlas-base/atlas/liblapack.so.3   35        manual mode
  2            /usr/lib/lapack/liblapack.so.3             10        manual mode
  3            /usr/lib/openblas-base/liblapack.so.3      40        manual mode

我正在使用Ubuntu 14.1和python 2.7

2 个答案:

答案 0 :(得分:4)

要解决这些问题,我在此处按照安装bash脚本进行操作:https://gist.github.com/amirsani/d2aa0763cc138902bf73

在测试结束时我仍然遇到了同样的错误,所以我做了这个

sudo apt-get remove libopenblas-base

我从这里得到的是:Installing lapack for numpy

这似乎解决了我原来的问题(类似于你的但不完全相同),我试图从ipython运行以下内容

from ortools.linear_solver import pywraplp

与你的错误产生了相同的错误。

答案 1 :(得分:1)

错误消息显示您的numpy安装位于&#39; / usr / local / lib&#39;,但apt-get会将numpy置于&#39; / usr / lib& #39 ;.这告诉我你有另一个numpy副本,它是通过另一种方法安装的(例如pip install)。检查您是否有名为/usr/lib/python2.7/dist-packages/numpy/的目录。如果是这样,你只需要确保Python从这里导入numpy而不是从&#39; / usr / local / lib&#39;。

尝试删除,重命名或移动目录/usr/local/lib/python2.7/dist-packages/numpy/,或者您可以在Python中更改sys.path