【问题标题】:Error importing scipy.sparse._sparsetools导入 scipy.sparse._sparsetools 时出错
【发布时间】:2020-11-29 14:54:50
【问题描述】:

我正在尝试使用 gensim 包执行 Word2Vec 的 macbook pro。我在本周早些时候使用过该模型,但是当我尝试继续使用它时,我收到了关于加载 scipy 的错误。我尝试仅加载响应错误消息的特定模型,这是相同的输出:

>>> import scipy.sparse._sparsetools
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "//anaconda/lib/python2.7/site-packages/scipy/sparse/__init__.py", line 213, in <module>
    from .csr import *
  File "//anaconda/lib/python2.7/site-packages/scipy/sparse/csr.py", line 13, in <module>
    from ._sparsetools import csr_tocsc, csr_tobsr, csr_count_blocks, \
ImportError: dlopen(//anaconda/lib/python2.7/site-packages/scipy/sparse/_sparsetools.so, 2): Symbol not found: __ZNSs4_Rep20_S_empty_rep_storageE
  Referenced from: //anaconda/lib/python2.7/site-packages/scipy/sparse/_sparsetools.so
  Expected in: dynamic lookup

我通过 pip 安装所有内容,因此没有专门在此 mac 上构建任何内容。任何建议将不胜感激。

系统详情:

  • Python 2.7.8 |Anaconda 2.1.0 (x86_64)| (默认,2014 年 8 月 21 日,15:21:46)
  • Mac OSX,优胜美地 (10.10.5)
  • scipy 0.14.0

【问题讨论】:

  • from scipy import sparse 让我访问sparse._sparsetools。对于许多 scipy 组件,正确的导入是 from ... 语法。

标签: python scipy


【解决方案1】:

您的问题可能是由github issue 中描述的链接问题引起的。

由于您已经在使用 anaconda,可能对您来说最好的策略是使用已编译的二进制文件,而不是尝试自己使用 pip 进行编译。

你需要做的只有两件事:

pip uninstall scipy
conda install scipy

【讨论】:

  • 感谢您的回复,但这并不成功(完全相同的错误)。难道是我需要为依赖做类似的事情吗?
  • 如果这不起作用,您可能需要添加which python,也是import(scipy); print(scipy)的输出
  • which python-> //anaconda/bin/python print(scipy)-> 很明显这是问题所在,但我不明白如何解决它
  • 我只是删除了错误的实例,然后它自行更正了。谢谢!
【解决方案2】:

对于 x86 和 x64 版本,我在 Windows 10 上使用 python 3.7 时遇到了这个问题。使用依赖walker,我发现 msvcp120.dll 丢失了。将相同的内容放在 python 根文件夹中解决了我的问题。

【讨论】:

    猜你喜欢
    • 2020-02-01
    • 2016-04-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-05-05
    • 2012-10-28
    • 2016-09-01
    • 2019-01-16
    相关资源
    最近更新 更多