首页 > 解决方案 > numpy/core/multiarray.so:未定义符号:_Py_ZeroStruct

问题描述

我是 Linux 和 Python 的新手。我正在使用 Ubuntu 16.04。

我原来的 Python 是

python --version Python 2.7.8

我正在尝试将 numpy 导入 python3。但是,当我尝试导入 numpy 时,出现此错误

回溯(最近一次通话最后):

文件“/usr/local/lib/python2.7/dist-packages/numpy/core/init .py ”,第 16 行,来自 . 导入多数组 ImportError:/usr/local/lib/python2.7/dist-packages/numpy/core/multiarray.so:未定义符号:_Py_ZeroStruct

在处理上述异常的过程中,又出现了一个异常:

回溯(最后一次调用):文件“”,第 1 行,在文件“/usr/local/lib/python2.7/dist-packages/numpy/init .py ”中,第 142 行,来自 . 导入 add_newdocs 文件“/usr/local/lib/python2.7/dist-packages/numpy/add_newdocs.py”,第 13 行,从 numpy.lib 导入 add_newdoc 文件“/usr/local/lib/python2.7/dist -packages/numpy/lib/ init .py”,第 8 行,从 .type_check 导入 * 文件“/usr/local/lib/python2.7/dist-packages/numpy/lib/type_check.py”,第 11 行,在 import numpy.core.numeric as _nx File "/usr/local/lib/python2.7/dist-packages/numpy/core/init .py ",第 26 行,在 raise ImportError(msg)

ImportError:导入多数组 numpy 扩展模块失败。

您很可能正在尝试导入失败的 numpy 构建。如果您正在使用 numpy git repo,请尝试 git clean -xdf (删除所有不受版本控制的文件)。否则重新安装numpy。

原来的错误是:

/usr/local/lib/python2.7/dist-packages/numpy/core/multiarray.so:未定义符号:_Py_ZeroStruct"

我用来导入 numpy 的 python 是 Python 3.5.2,它似乎正在尝试使用 Python 2.7 中的包。

我试过了 :

sudo apt-get update
sudo apt-get install python3-pip
sudo apt-get install python3-numpy

并且 :

sudo python3 -m pip uninstall pip && sudo apt install python3-pip --reinstall 
sudo apt install python3-numpy python3-scipy

这似乎与其他人面临的问题相似,但似乎没有一个解决方案有效?

标签: pythonlinuxpython-3.xpython-2.7numpy

解决方案


您为 python2.7 和 python3 安装了 pip。要使用 python3 的 pip,您只需要使用 pip3 而不是 pip。

pip3 install package

推荐阅读