Skip to main content
 首页 » 编程设计

python之在 Ubuntu (12.04) 下安装 Numpy 导致 Python ImportError

2025年05月04日13mayingbao

在 Ubuntu (12.04) 下,使用 openblas 将 python (2.7.5) 和 numpy (1.8rc2) 安装到自己的环境 (/din) 中。 numpy site.cfg 文件配置为指向 openblas,并编译为:

$ python setup.py build 
$ sudo python setup.py install --prefix=/home/Programs/din/local 
 
$ python 
 
Python 2.7.5 (default, Oct 24 2013, 15:33:08) 
[GCC 4.6.3] on linux2 
Type "help", "copyright", "credits" or "license" for more information. 
 
>>> import numpy 
 
Traceback (most recent call last): 
  File "<stdin>", line 1, in <module> 
  File "/home/Programs/din/local/lib/python2.7/site-packages/numpy/__init__.py", line 137, in <module> 
    import add_newdocs 
  File "/home/Programs/din/local/lib/python2.7/site-packages/numpy/add_newdocs.py", line 9, in <module> 
    from numpy.lib import add_newdoc 
  File "/home/Programs/din/local/lib/python2.7/site-packages/numpy/lib/__init__.py", line 4, in <module> 
    from type_check import * 
  File "/home/Programs/din/local/lib/python2.7/site-packages/numpy/lib/type_check.py", line 8, in <module> 
    import numpy.core.numeric as _nx 
  File "/home/Programs/din/local/lib/python2.7/site-packages/numpy/core/__init__.py", line 5, in <module> 
    import multiarray 
ImportError:  
"/home/Programs/din/local/lib/python2.7/site-packages/numpy/core/multiarray.so: undefined symbol: ERR_peek_last_error 

Cython、gevent 和其他 python 包都已成功安装到/din 但不是 numpy。 $PATH 和 python sys.path 已经过检查,一切看起来都很好。

有没有人想尝试一下?

请您参考如下方法:

这可能无法直接解决您的具体问题,但如果您使用的是 Ubuntu 12.04,您可以直接使用 apt-get。然后,因为版本不会是最新的,我然后执行 pip install --upgrade。在 pip 之前执行 apt-get 首先神奇地似乎也安装了正确的依赖项;如果我先执行 pip install,它就不起作用。

具体来说:

sudo apt-get install python-numpy python-scipy libblas-dev liblapack-dev gfortran python-dev 
sudo pip install numpy --upgrade 
sudo pip install scipy --upgrade