使用pip升级后导入numpy时出错

时间:2014-02-27 20:54:16

标签: python macos numpy pip

此问题与此处的问题有关:Unable to import numpy

我跑了:sudo pip install --upgrade numpy

然后当我运行python并尝试导入numpy时我得到了这个奇怪的错误!我疯了!

>>> import numpy
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/numpy/__init__.py", line 153, in <module>
    from . import add_newdocs
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/numpy/add_newdocs.py", line 13, in <module>
    from numpy.lib import add_newdoc
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/numpy/lib/__init__.py", line 18, in <module>
    from .polynomial import *
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/numpy/lib/polynomial.py", line 19, in <module>
    from numpy.linalg import eigvals, lstsq, inv
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/numpy/linalg/__init__.py", line 50, in <module>
    from .linalg import *
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/numpy/linalg/linalg.py", line 29, in <module>
    from numpy.linalg import lapack_lite, _umath_linalg
ImportError: dlopen(/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/numpy/linalg/lapack_lite.so, 2): Symbol not found: __gfortran_compare_string
  Referenced from: /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/numpy/linalg/lapack_lite.so
  Expected in: flat namespace
 in /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/numpy/linalg/lapack_lite.so
>>> 

编辑: 我也跑了这个:

$ pip show numpy
---
Name: numpy
Version: 1.8.0
Location: /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages
Requires: 

1 个答案:

答案 0 :(得分:0)

我的修复方法是通过macports手动安装gcc:

sudo port install gcc48

...安装gfortran,但没有numpy似乎期待的别名(gfortran)。然后我们创建一个符号链接:

sudo ln -s /opt/local/bin/gfortran-mp-4.8 /opt/local/bin/gfortran

之后,我通过pip卸载并重新安装了numpy,它就像一个魅力。

这为我昨晚的小牛队解决了这个问题。根据我的阅读,gfortran曾经是OS X命令行工具的一部分,但不是Lion的左右。单独安装gcc“修复”那个。