在macOS Sierra

时间:2016-12-20 07:43:19

标签: python macos opencv scipy

当我尝试这样做时会发生这种情况:

import scipy.io

另一个scipy模块,比如scipy.sparse,似乎没问题。

根错误是:

packages/scipy/special/__init__.py", line 636, in <module>
        from ._ufuncs import *
    ImportError: dlopen(/usr/local/lib/python2.7/site-packages/scipy/special/_ufuncs.so, 2): Symbol not found: ___addtf3

完整堆栈跟踪:

Traceback (most recent call last):
  File "HistogramClassifier.py", line 3, in <module>
    import scipy.io
  File "/usr/local/lib/python2.7/site-packages/scipy/io/__init__.py", line 97, in <module>
    from .matlab import loadmat, savemat, whosmat, byteordercodes
  File "/usr/local/lib/python2.7/site-packages/scipy/io/matlab/__init__.py", line 13, in <module>
    from .mio import loadmat, savemat, whosmat
  File "/usr/local/lib/python2.7/site-packages/scipy/io/matlab/mio.py", line 12, in <module>
    from .miobase import get_matfile_version, docfiller
  File "/usr/local/lib/python2.7/site-packages/scipy/io/matlab/miobase.py", line 22, in <module>
    from scipy.misc import doccer
  File "/usr/local/lib/python2.7/site-packages/scipy/misc/__init__.py", line 51, in <module>
    from scipy.special import comb, factorial, factorial2, factorialk
  File "/usr/local/lib/python2.7/site-packages/scipy/special/__init__.py", line 636, in <module>
    from ._ufuncs import *
ImportError: dlopen(/usr/local/lib/python2.7/site-packages/scipy/special/_ufuncs.so, 2): Symbol not found: ___addtf3
  Referenced from: /usr/local/lib/python2.7/site-packages/scipy/special/../.dylibs/libquadmath.0.dylib
  Expected in: /usr/lib/libSystem.B.dylib
 in /usr/local/lib/python2.7/site-packages/scipy/special/../.dylibs/libquadmath.0.dylib

这就是它。谷歌返回了不少点击量,但它们要么已经很老了,要么不是同一个库,或者我尝试过的东西。这篇文章的其余部分是到目前为止我发现/尝试的所有内容都没有用。

仔细检查python:

which python
/usr/local/bin/python

ls -l /usr/local/bin/python
lrwxr-xr-x  ... /usr/local/bin/python -> ../Cellar/python/2.7.13/bin/python

我目前没有使用虚拟环境。

我认为Homebrew还可以:

brew doctor
Your system is ready to brew.

这是在尝试之后:

brew update
brew upgrade

我还尝试卸载并重新安装scipy软件包,包括brew和pip。

我已经尝试了其他各种各样的东西,但不想弄乱一个正常的Homebrew设置。

谷歌带回来的旧帖子谈论“眼镜蛇”,据我所知,我没有使用它。 “哪条眼镜蛇”不会返回任何东西。

谷歌的其他事情谈论了库路径的顺序,但是如果你使用的是内置的python,我认为这并不适用,因为我相信我使用的是Homebrew的版本

显然它与图书馆有关,可能与fortran有关,但要输入什么来解决它...不知道从哪里开始。

1 个答案:

答案 0 :(得分:0)

试试这个:暂时删除/usr/lib/libSystem.B.dylib,然后重新安装scipy。