使用 Python3 安装 scikit-learn,_superlu.cpython-34m.so:未定义符号:dtrsm_

使用 Python3 安装 scikit-learn,_superlu.cpython-34m.so:未定义符号:dtrsm_

我正在使用 ubuntu 14.04 并尝试scikit-learn使用 python 3 安装。我遇到以下错误:

In [4]: import sklearn

生成:

ImportError: /usr/local/lib/python3.4/dist-packages/scipy/sparse/linalg/dsolve/_superlu.cpython-34m.so: undefined symbol: dtrsm_

我使用以下命令安装了 scikit-learn:

sudo pip3 install scikit-learn

并被告知:

Successfully installed scikit-learn

我的pythonnumpy版本scipy

In [5]: sys.version
Out[5]: '3.4.3 (default, Oct 14 2015, 20:28:29) \n[GCC 4.8.4]'

In [6]: numpy.__version__
Out[6]: '1.10.2'

In [7]: scipy.__version__
Out[7]: '0.16.1'

我怀疑我遗漏了 blas/atlas 库的某些内容,但并不知道如何进一步调查这个问题。

我可以做哪些额外的诊断来更好地了解问题?

我还应该提供哪些其他信息?

答案1

您需要将 numpy 1.10.2 替换为 1.10.1 。然后重新安装 scipy

pip install --upgrade --force-reinstall scipy

此后,sklearn 运行正常。

相关内容