ModuleNotFoundError:没有名为“en_core_web_sm”的模块

11 python spacy

我是 python 新手,一直被一个问题困扰:我必须在 Visual Studio 代码中执行 python 文件,这给了我一个错误

ModuleNotFoundError: No module named 'en_core_web_sm' ,

即使我已经下载了 en-core-web-sm 2.2.5。

请帮我解决这个问题谢谢和问候,

import spacy  
import re
import json
import pymongo 
import datetime
import sys
import xlrd
import xlsxwriter
import openpyxl
from openpyxl import Workbook

from pathlib import Path
nlp = spacy.load("en_core_web_sm")
Run Code Online (Sandbox Code Playgroud)

zer*_*ewl 11

您可以whl通过python 包管理器 pip安装下载的 python 文件,例如:

pip install en_core_web_sm-3.1.0-py3-none-any.whl

en_core_web_sm您可以从此页面下载:

https://github.com/explosion/spacy-models/releases/tag/en_core_web_sm-3.1.0

spacy首页的示例看起来很简单,您是否尝试过终端中注释的第一行?来自 spacy 页面的示例:

# pip install -U spacy
# python -m spacy download en_core_web_sm
import spacy

# Load English tokenizer, tagger, parser and NER
nlp = spacy.load("en_core_web_sm")
Run Code Online (Sandbox Code Playgroud)

在 python 中使用之前要在终端中执行的行:

pip install -U spacy
python -m spacy download en_core_web_sm
Run Code Online (Sandbox Code Playgroud)

另请查看spacy 的文档以及如何安装和下载模型包。

也许您需要安装整个spacy 包,而不仅仅是一个子包,例如:

pip install -U pip setuptools wheel
pip install spacy
Run Code Online (Sandbox Code Playgroud)

学习 python 的一个很好的起点是阅读一些文档;-) 也许这也有帮助:

什么是 Python 轮子以及为什么你应该关心?

也可以在该包的 spacy 文档页面上找到完整的工作示例。注意它使用包版本3.1.0

import spacy
from spacy.lang.en.examples import sentences 

nlp = spacy.load("en_core_web_sm")
doc = nlp(sentences[0])
print(doc.text)
for token in doc:
    print(token.text, token.pos_, token.dep_)
Run Code Online (Sandbox Code Playgroud)