Python 3 - spaCy 安装错误:“没有模块 preshed.bloom”

NBK*_*NBK 1 python installation spacy

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

import spacy
!python -m spacy download en
Run Code Online (Sandbox Code Playgroud)

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

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'
Run Code Online (Sandbox Code Playgroud)

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

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

aab*_*aab 6

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

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

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