我在试着和斯皮斯合作。我需要下载英语,意大利语和西班牙语的语言模型。我无法手动安装模型(因为我希望构建一段可移植的代码),所以我编写了一个小函数,基本上是
import os
import spacy
lang='en'
try:
mod = lang+'_core_web_sm'
nlp = spacy.load(mod)
except:
print('model not present.. downloading and loading')
cmd = 'python -m spacy download '+ mod
os.system(cmd)
nlp = spacy.load(mod)我在一个带有pip python3的虚拟环境中,windows 10。
模型下载很好。这是os.system(cmd)的输出
从https://github.com/explosion/spacy-models/releases/download/it_core_news_sm-2.2.5/it_core_news_sm-2.2.5.tar.gz#egg=it_core_news_sm==2.2.5下载https://github.com/explosion/spacy-models/releases/download/it_core_news_sm-2.2.5/it_core_news_sm-2.2.5.tar.gz收集it_core_news_sm==2.2.5 (14.5MB)要求已经满足: spacy>=2.2.2 in it_core_news_sm==2.2.5(来自it_core_news_sm==2.2.5) (2.2.4)要求已经满足: srsly<1.1.0,c:\users\marco.fumagalli\classifybusiness\lib\site-packages中的>=1.0.2 (from spacy>=2.2.2->it_core_news_sm=2.2.5) (1.0.2)已经满足要求: preshed<3.1.0,>=3.0.2 in c:\users\marco.fumagalli\classifybusiness\lib\site-packages (from spacy>=2.2.2->it_core_news_sm=2.2.5) (3.0.2)已满足的要求: wasabi<1.1.0,c:\users\marco.fumagalli\classifybusiness\lib\site-packages中的>=0.4.0 (from spacy>=2.2.2->it_core_news_sm=2.2.5) (0.6.0)要求已经满足: murmurhash<1.1.0,c:\users\marco.fumagalli\classifybusiness\lib\site-packages中的>=0.28.0 (from spacy>=2.2.2->it_core_news_sm=2.2.5) (1.0.2):c:\users\marco.fumagalli\classifybusiness\lib\site-packages\setuptools-40.8.0-py3.6.egg中的setuptools (from spacy>=2.2.2->it_core_news_sm=2.2.5) (40.8.0)已经满足要求: plac<1.2.0,c:\users\marco.fumagalli\classifybusiness\lib\site-packages中的>=0.9.6 (from spacy>=2.2.2->it_core_news_sm=2.2.5) (1.1.3)已经满足要求: catalogue<1.1.0,>=0.0.7 in c:\users\marco.fumagalli\classifybusiness\lib\site-packages (from spacy>=2.2.2->it_core_news_sm=2.2.5) (1.0.0)已经满足的要求: tqdm<5.0.0,c:\users\marco.fumagalli\classifybusiness\lib\site-packages中的>=4.38.0 (from spacy>=2.2.2->it_core_news_sm=2.2.5) (4.43.0)要求已经满足: cymem<2.1.0,c:\users\marco.fumagalli\classifybusiness\lib\site-packages中的>=2.0.2 (from spacy>=2.2.2->it_core_news_sm=2.2.5) (2.0.3)已满足c:\users\marco.fumagalli\classifybusiness\lib\site-packages中的thinc==7.4.0 (from spacy>=2.2.2->it_core_news_sm=2.2.5) (7.4.0)已经满足的要求: blis<0.5.0,c:\users\marco.fumagalli\classifybusiness\lib\site-packages中的>=0.4.0 (from spacy>=2.2.2->it_core_news_sm=2.2.5) (0.4.1)要求已经满足: requests<3.0.0,c:\users\marco.fumagalli\classifybusiness\lib\site-packages中的>=2.13.0 (from spacy>=2.2.2->it_core_news_sm=2.2.5) (2.23.0)已满足c:\users\marco.fumagalli\classifybusiness\lib\site-packages中的numpy>=1.15.0 (from spacy>=2.2.2->it_core_news_sm=2.2.5) (1.16.4)已满足的要求:导入库元数据>=0.20;c:\users\marco.fumagalli\classifybusiness\lib\site-packages中的python_version < "3.8“(来自catalogue<1.1.0,>=0.0.7->spacy>=2.2.2->it_core_news_sm==2.2.5) (1.5.0) )要求已经满足: urllib3!=1.25.0,!=1.25.1,<1.26,>=1.21.1 in c:\users\marco.fumagalli\classifybusiness\lib\site-packages (来自requests<3.0.0,>=2.13.0->spacy>=2.2.2->it_core_news_sm==2.2.5) (1.23)要求已经满足: chardet<4,>=3.0.2 in c:\users\marco.fumagalli\classifybusiness\lib\site-packages (来自requests<3.0.0,>=2.13.0->spacy>=2.2.2->it_core_news_sm==2.2.5) (3.0.4)要求已经满足: c:\users\marco.fumagalli\classifybusiness\lib\site-packages中的certifi>=2017.4.17 (来自requests<3.0.0,>=2.13.0->spacy>=2.2.2->it_core_news_sm==2.2.5) (2019.11.28) )已经满足: idna<3,c:\users\marco.fumagalli\classifybusiness\lib\site-packages中的>=2.5 (来自requests<3.0.0,>=2.13.0->spacy>=2.2.2->it_core_news_sm==2.2.5) (2.9) )已经满足了要求: c:\users\marco.fumagalli\classifybusiness\lib\site-packages中的zipp>=0.5 (来自IMPO-Metadata>=0.20;python_version < "3.8"->catalogue<1.1.0,>=0.0.7->spacy>=2.2.2->it_core_news_sm==2.2.5) (3.1.0)安装收集的软件包: it-core-news-sm运行setup.py it安装-core-news-sm:开始运行setup.py安装it-core-news-sm:完成状态‘已完成’成功安装它-core-news-sm-2.2.5✔下载和安装成功,您现在可以通过spacy.load('it_core_news_sm')加载该模型了。
但是,当执行spacy.load(mod)时:
OSError: E050找不到'en_core_web_sm‘模型。它似乎不是快捷链接、Python包或数据目录的有效路径。
奇怪的是如果我这么做
import en_core_web_sm
en_core_web_sm.load()它起作用了。
我该怎么解决呢?
谢谢
发布于 2020-05-11 17:01:43
尝试通过以下方式安装en_core_web_sm:
pip3 install https://github.com/explosion/spacy-models/releases/download/en_core_web_sm-2.2.5/en_core_web_sm-2.2.5.tar.gzhttps://stackoverflow.com/questions/60753705
复制相似问题