Spacy:找不到模型 'en_core_web_sm'。它似乎不是 Python 包或数据目录的有效路径

Spacy: Can't find model 'en_core_web_sm'. It doesn't seem to be a Python package or a valid path to a data directory

我正在尝试加载 en_core_web_sm spaCy 模型,但一直没有成功。

发生的错误如下:

OSError: [E050] Can't find model 'en_core_web_sm'. It doesn't seem to be a Python package or a valid path to a data directory.

我在 Anaconda 虚拟环境中工作。勾选了以下复选框:

spacy info 产生这个输出:

spacy info

============================== Info about spaCy ==============================

spaCy version    3.3.0                         
Location         /Users/simonmortensen/opt/anaconda3/envs/gcp-env/lib/python3.10/site-packages/spacy
Platform         macOS-11.6.5-x86_64-i386-64bit
Python version   3.10.4                        
Pipelines        en_core_web_sm (3.3.0)

python -m spacy validate 产生这个输出:

================= Installed pipeline packages (spaCy v3.3.0) =================
ℹ spaCy installation:
/Users/simonmortensen/opt/anaconda3/envs/gcp-env/lib/python3.10/site-packages/spacy

NAME             SPACY                 VERSION                            
en_core_web_sm   >=3.3.0.dev0,<3.4.0   3.3.0   ✔

我之前浏览过几篇关于同一主题的 Whosebug 帖子。这些通常都已解决,但我的问题仍然存在。

如有任何建议,我们将不胜感激。提前致谢!

西蒙

编辑: 对于其他上下文,环境中的 pip list 包含

spacy                         3.3.0
spacy-legacy                  3.0.9
spacy-loggers                 1.0.2

en-core-web-sm                3.3.0

即便如此,import en_core_web_sm也不行:

import en_core_web_sm
Traceback (most recent call last):

  Input In [65] in <cell line: 1>
    import en_core_web_sm

ModuleNotFoundError: No module named 'en_core_web_sm'

我觉得不是走环保的好路子

在终端中执行 which python ,你必须验证正在使用环境路径。

Spyder 是反派。

所有软件包都已正确安装在虚拟环境中,但 Spyder 并未 运行 设置该环境(即使 IDE 是从终端使用 spyder 命令启动的,其中环境实际上已被激活)。

为了使 Spyder 运行 成为正确的环境,您需要在 Spyder 首选项中更改 Python 解释器: ...然后重新启动内核。

我收到一个错误提示我 pip install spyder-kernels==2.1.*,但是完成后(确保在正确的 venv 上执行),我重新启动了 Spyder,它终于成功了!

查看线程中的讨论:https://github.com/explosion/spaCy/discussions/10895