首页 > 解决方案 > Python 3 - spaCy 安装错误:“没有模块 preshed.bloom”

问题描述

spacy在装有 Windows 10 的 Jupyter 笔记本上安装 Python 3,然后尝试安装英语语言模型。

import spacy
!python -m spacy download en

后一个命令给了我以下错误:

Traceback (most recent call last):
  File "C:\Users\naimb\Anaconda3\lib\runpy.py", line 183, in _run_module_as_main
    mod_name, mod_spec, code = _get_module_details(mod_name, _Error)
  File "C:\Users\naimb\Anaconda3\lib\runpy.py", line 142, in _get_module_details
    return _get_module_details(pkg_main_name, error)
  File "C:\Users\naimb\Anaconda3\lib\runpy.py", line 109, in _get_module_details
    __import__(pkg_name)
  File "C:\Users\naimb\Anaconda3\lib\site-packages\spacy\__init__.py", line 12, in <module>
    from .cli.info import info as cli_info
  File "C:\Users\naimb\Anaconda3\lib\site-packages\spacy\cli\__init__.py", line 6, in <module>
    from .train import train  # noqa: F401
  File "C:\Users\naimb\Anaconda3\lib\site-packages\spacy\cli\train.py", line 17, in <module>
    from ..gold import GoldCorpus
  File "morphology.pxd", line 13, in init spacy.gold
  File "vocab.pxd", line 27, in init spacy.morphology
  File "vocab.pyx", line 20, in init spacy.vocab
  File "C:\Users\naimb\Anaconda3\lib\site-packages\spacy\lemmatizer.py", line 8, in <module>
    from .lookups import Lookups
  File "C:\Users\naimb\Anaconda3\lib\site-packages\spacy\lookups.py", line 6, in <module>
    from preshed.bloom import BloomFilter
ModuleNotFoundError: No module named 'preshed.bloom'

什么是preshed.bloom模块?按照这个问题的答案,我从这个页面(preshed‑3.0.2‑cp38‑cp38‑win_amd64.whl)加载了预装轮,但问题仍然存在。

有谁知道如何解决这个问题?

标签: pythoninstallationspacy

解决方案


这可能是 spacy 依赖项之一的版本不匹配。您不需要从第三方站点下载轮子,使用pip(或conda)安装应该就可以了。

您可以尝试pip install -U spacy在当前环境中更新所有依赖项,或者如果这没有帮助,请尝试在新的虚拟环境中从头开始安装 spacy。

(您链接的答案有点过时,但正如其他答案中提到的,spacy 仅适用于 64 位 python,因此也请仔细检查。)


推荐阅读