10

当我尝试导入 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

我已经尝试过在 debian wheezy 上的 virtualenv 中使用 pip 安装 matplotlib 时通过 import numpy: lapack_lite.so: undefined symbol and GotoBLAS error 发布的解决方案

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

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

4

2 回答 2

5

为了解决这些问题,我在这里遵循了安装 bash 脚本:https ://gist.github.com/amirsani/d2aa0763cc138902bf73

在所有安装结束时的测试过程中我仍然发生同样的错误,所以我这样做了

sudo apt-get remove libopenblas-base

我从这里得到的:为 numpy 安装 lapack

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

from ortools.linear_solver import pywraplp

这产生了与您的错误相同的错误。

于 2017-09-01T18:39:51.860 回答
1

错误消息显示您的 numpy 安装在 '/usr/ local /lib' 中,但 apt-get 会将 numpy 放入 '/usr/lib' 中。这向我表明您有另一个 numpy 副本,它是通过另一种方法(例如pip install)安装的。检查您是否有一个名为/usr/lib/python2.7/dist-packages/numpy/. 如果是这样,您只需要确保 Python 从此处导入 numpy,而不是从“/usr/local/lib”导入。

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

于 2017-04-21T07:46:04.297 回答