2014-02-27 40 views
1

升級這個問題涉及到一個問題在這裏後,進口numpy的:Unable to import numpy錯誤與PIP

我跑:sudo的PIP安裝--upgrade numpy的

然後,當我跑蟒蛇試圖導入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: 
+0

如果你運行'pip show numpy',你會得到什麼? –

+0

@RobWatts用編輯更新了這個問題 –

+0

嗯...... pip顯示正確的版本。 numpy目錄中是否有'version.py'?如果是這樣,它說它在那裏有什麼版本? –

回答

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「修復」。