OSerror导入语言模型空间

2024-07-07 07:15:17 发布

您现在位置:Python中文网/ 问答频道 /正文

我想和斯帕西一起工作。我需要下载英语,意大利语和西班牙语的语言模型。 我无法手动安装该模型(因为我希望构建一段可移植的代码),所以我编写了一个基本上是

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)

我在一个带有pippython3、windows10的virtualenv中

模型下载很好。这是os.system(cmd)的输出

Collecting it_core_news_sm==2.2.5 from 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 Downloading https://github.com/explosion/spacy-models/releases/download/it_core_news_sm-2.2.5/it_core_news_sm-2.2.5.tar.gz (14.5MB) Requirement already satisfied: spacy>=2.2.2 in c:\users\marco.fumagalli\classifybusiness\lib\site-packages (from it_core_news_sm==2.2.5) (2.2.4) Requirement already satisfied: srsly<1.1.0,>=1.0.2 in c:\users\marco.fumagalli\classifybusiness\lib\site-packages (from spacy>=2.2.2->it_core_news_sm==2.2.5) (1.0.2) Requirement already satisfied: 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) Requirement already satisfied: wasabi<1.1.0,>=0.4.0 in c:\users\marco.fumagalli\classifybusiness\lib\site-packages (from spacy>=2.2.2->it_core_news_sm==2.2.5) (0.6.0) Requirement already satisfied: murmurhash<1.1.0,>=0.28.0 in c:\users\marco.fumagalli\classifybusiness\lib\site-packages (from spacy>=2.2.2->it_core_news_sm==2.2.5) (1.0.2) Requirement already satisfied: setuptools in c:\users\marco.fumagalli\classifybusiness\lib\site-packages\setuptools-40.8.0-py3.6.egg (from spacy>=2.2.2->it_core_news_sm==2.2.5) (40.8.0) Requirement already satisfied: plac<1.2.0,>=0.9.6 in c:\users\marco.fumagalli\classifybusiness\lib\site-packages (from spacy>=2.2.2->it_core_news_sm==2.2.5) (1.1.3) Requirement already satisfied: 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) Requirement already satisfied: tqdm<5.0.0,>=4.38.0 in c:\users\marco.fumagalli\classifybusiness\lib\site-packages (from spacy>=2.2.2->it_core_news_sm==2.2.5) (4.43.0) Requirement already satisfied: cymem<2.1.0,>=2.0.2 in c:\users\marco.fumagalli\classifybusiness\lib\site-packages (from spacy>=2.2.2->it_core_news_sm==2.2.5) (2.0.3) Requirement already satisfied: thinc==7.4.0 in c:\users\marco.fumagalli\classifybusiness\lib\site-packages (from spacy>=2.2.2->it_core_news_sm==2.2.5) (7.4.0) Requirement already satisfied: blis<0.5.0,>=0.4.0 in c:\users\marco.fumagalli\classifybusiness\lib\site-packages (from spacy>=2.2.2->it_core_news_sm==2.2.5) (0.4.1) Requirement already satisfied: requests<3.0.0,>=2.13.0 in c:\users\marco.fumagalli\classifybusiness\lib\site-packages (from spacy>=2.2.2->it_core_news_sm==2.2.5) (2.23.0) Requirement already satisfied: numpy>=1.15.0 in c:\users\marco.fumagalli\classifybusiness\lib\site-packages (from spacy>=2.2.2->it_core_news_sm==2.2.5) (1.16.4) Requirement already satisfied: importlib-metadata>=0.20; python_version < "3.8" in c:\users\marco.fumagalli\classifybusiness\lib\site-packages (from catalogue<1.1.0,>=0.0.7->spacy>=2.2.2->it_core_news_sm==2.2.5) (1.5.0) Requirement already satisfied: urllib3!=1.25.0,!=1.25.1,<1.26,>=1.21.1 in c:\users\marco.fumagalli\classifybusiness\lib\site-packages (from requests<3.0.0,>=2.13.0->spacy>=2.2.2->it_core_news_sm==2.2.5) (1.23) Requirement already satisfied: chardet<4,>=3.0.2 in c:\users\marco.fumagalli\classifybusiness\lib\site-packages (from requests<3.0.0,>=2.13.0->spacy>=2.2.2->it_core_news_sm==2.2.5) (3.0.4) Requirement already satisfied: certifi>=2017.4.17 in c:\users\marco.fumagalli\classifybusiness\lib\site-packages (from requests<3.0.0,>=2.13.0->spacy>=2.2.2->it_core_news_sm==2.2.5) (2019.11.28) Requirement already satisfied: idna<3,>=2.5 in c:\users\marco.fumagalli\classifybusiness\lib\site-packages (from requests<3.0.0,>=2.13.0->spacy>=2.2.2->it_core_news_sm==2.2.5) (2.9) Requirement already satisfied: zipp>=0.5 in c:\users\marco.fumagalli\classifybusiness\lib\site-packages (from importlib-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) Installing collected packages: it-core-news-sm Running setup.py install for it-core-news-sm: started Running setup.py install for it-core-news-sm: finished with status 'done' Successfully installed it-core-news-sm-2.2.5 ✔ Download and installation successful You can now load the model via spacy.load('it_core_news_sm')

但是,当执行spacy.load(mod)时:

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

奇怪,因为如果我这样做了

import en_core_web_sm
en_core_web_sm.load()

它起作用了

我怎样才能解决它

谢谢


Tags: infromcorespacypackagesitrequirementusers