ModuleNotFoundError - 没有名为 'en-core-web-sm' 的模块

ModuleNotFoundError - No module named 'en-core-web-sm'

我正在尝试部署一个使用 en_core_web_sm 的应用程序,它是 spacy 的一个子模块。在我的代码中,我有 import en_core_web_sm 并且在本地测试时它工作正常。在我的 venv 中,我 运行 pipenv install spacy[en-core-web-sm] 在 Pipfile 中生成了这个: spacy = {extras = ["en-core-web-sm"], version = "*"}. 我尝试了多种方法将其导入我的 .py 文件,但一直得到 ModuleNotFoundError.

我试过从 en-core-web-smen_core_web_smspacy['en_core_web_sm]spacy.lang.en-core-web-sm 以及许多其他变体导入。

我也尝试了 en_core_web_sm = __import__('en-core-web-sm')en_core_web_sm = __import__('spacy["en-core-web-sm"]'),因为我知道带有破折号的模块在导入时可能会出现问题。

导入这个的正确方法是什么?谢谢!

使用:

import spacy
nlp = spacy.load("en_core_web_sm")

现在,如果您 运行 例如:

string = "going went gone"
[token.lemma_ for token in nlp(string)] #lemmatization

您将获得:

['go', 'go', 'go']