Ubuntu(12.04)下的Numpy安装导致Python ImportError

时间:2013-10-30 20:36:14

标签: python ubuntu numpy importerror

在Ubuntu(12.04)下,安装了python(2.7.5)和numpy(1.8rc2),使用openblas进入自己的环境(/ 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已经过检查,看起来都很好。

有没有人有想法尝试?

1 个答案:

答案 0 :(得分:7)

这可能无法直接解决您的具体问题,但如果您使用的是Ubuntu 12.04,则只能apt-get。然后,因为版本不是最新版本,所以我会pip install --upgrade。首先在apt-get之前做pip我们似乎神奇地安装了正确的依赖项;如果我先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