scipy.special import"找不到符号:___ addtf3"

时间:2015-07-28 05:19:18

标签: python scipy

每当我尝试运行此代码时:

from scipy.special import legendre

我一直遇到以下错误。

ImportError: 

dlopen(/Users/william/miniconda/envs/myenv/lib/python3.4/site-packages/scipy/special/_ufuncs.so, 2): Symbol not found: ___addtf3
  Referenced from: /Users/william/miniconda/envs/prakenv/lib/python3.4/site-packages/scipy/special/_ufuncs.so
  Expected in: /usr/lib/libSystem.B.dylib

我尝试恢复到以前版本的scipy并使用Python 2.7 conda环境,但问题仍然存在。我以前从未遇到过scipy这个问题。非常感谢你!

3 个答案:

答案 0 :(得分:1)

conda v 3.15.0显然存在导致这些症状的问题。修复是在2015-07-23发布conda v 3.15.1,并让人们重新安装。

conda issue #1467, Error in scipy 0.16 packaging in official conda channels on OSX的讨论。鉴于问题的时间安排,就在几天后的2015年7月,这可能会对您产生影响。

答案 1 :(得分:1)

我有一个类似的问题,除了我使用pip install -r requirements.txt在virtualenv中安装scipy,其中一个要求是scipy==0.18.0。我终于通过删除我的pip缓存并再次尝试来解决它。

更具体地说,我这样做了:

  1. 停用virtualenv flask
  2. sudo rm -r flask/
  3. 仔细检查我的PATH和PYTHONPATH环境变量,删除对其他项目和其他Python版本的引用
  4. 将我的MacPorts Python版本设置为2.7,符合我项目的需求:Sudo port set python python27
  5. 删除我的pip缓存rm -r ~/Library/Caches/pip/http/* ~/Library/Caches/pip/wheels/*
  6. 重新创建了virtualenv:virtualenv flask
  7. 重新启用了virtualenv:source flask/bin/activate
  8. 执行了调用make
  9. pip install -r requirements.txt操作

    我想出了一个检测问题的简写:

    % python -c 'import scipy.special'
    

    问题发生时,我收到错误回复:

    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "/Users/myuser/project/flask/lib/python2.7/site-packages/scipy/special/__init__.py", line 636, in <module>
        from ._ufuncs import *
    ImportError: dlopen(/Users/myuser/project/flask/lib/python2.7/site-packages/scipy/special/_ufuncs.so, 2): Symbol not found: ___addtf3
      Referenced from: /Users/myuser/project/flask/lib/python2.7/site-packages/scipy/special/../.dylibs/libquadmath.0.dylib
      Expected in: /usr/lib/libSystem.B.dylib
     in /Users/myuser/project/flask/lib/python2.7/site-packages/scipy/special/../.dylibs/libquadmath.0.dylib
    

    问题得到纠正后,没有输出。

    当测试在没有scipy的环境中运行时(例如在virtualenv之外),出现了预期的错误:

    ImportError: No module named scipy.special
    

答案 2 :(得分:0)

我有一个临时修复(恢复scipy),虽然我更愿意确定问题的确切原因:

conda uninstall scipy
conda install scipy=0.15.0

这是在Yosemite上运行的Python 3.4 miniconda环境。