OSerror импортирует языковую модель spacy - PullRequest
0 голосов
/ 19 марта 2020

Я пытаюсь работать со spacy. Мне нужно скачать языковую модель для английского sh, итальянского и испанского sh. Я не могу вручную установить модель (потому что надеюсь построить фрагмент кода, который будет переносимым), поэтому я написал небольшую функцию, которая в основном выглядит так:

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)

Я нахожусь внутри virtualenv с pip python3, windows 10.

Загрузка модели в порядке. Это вывод os.system (cmd)

Сбор 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#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 (14,5 МБ) Требование уже выполнено: spacy> = 2.2.2 в c: \ users \ marco.fumagalli \ classifybusiness \ lib \ site-packages (from it_core_news_sm == 2.2.5) (2.2.4) ) Требование уже выполнено: srsly <1.1.0,> = 1.0.2 в c: \ users \ marco.fumagalli \ classifybusiness \ lib \ site-packages (из spacy> = 2.2.2-> it_core_news_sm == 2.2. 5) (1.0.2) Требование уже выполнено: предварительная загрузка <3.1.0,> = 3.0.2 в c: \ users \ marco.fumagalli \ classifybusiness \ lib \ site-packages (из spacy> = 2.2.2- > it_core_news_sm == 2.2.5) (3.0.2) Требование уже выполнено: wasabi <1.1.0,> = 0.4.0 в c: \ users \ marco.fumagalli \ classifybusiness \ lib \ site-packages (из spacy > = 2.2.2-> it_core_news_sm == 2.2.5) (0.6.0) Требование уже выполнено: murmurha sh <1.1.0,> = 0.28.0 в c: \ users \ marco.fumagalli \ classifybusiness \ lib \ site-packages (из spacy> = 2.2.2-> it_core_ news_sm == 2.2.5) (1.0.2) Требование уже выполнено: setuptools в c: \ users \ marco.fumagalli \ classifybusiness \ lib \ site-packages \ setuptools-40.8.0-py3.6.egg (из spacy> = 2.2.2-> it_core_news_sm == 2.2.5) (40.8.0) Требование уже выполнено: pla c <1.2.0,> = 0.9.6 в c: \ users \ marco.fumagalli \ classifybusiness \ lib \ site-packages (из spacy> = 2.2.2-> it_core_news_sm == 2.2.5) (1.1.3) Требование уже выполнено: каталог <1.1.0,> = 0.0.7 в c: \ users \ marco.fumagalli \ classifybusiness \ lib \ site-packages (из spacy> = 2.2.2-> it_core_news_sm == 2.2.5) (1.0.0) Требование уже выполнено: tqdm <5.0.0,> = 4.38.0 в c: \ users \ marco.fumagalli \ classifybusiness \ lib \ site-packages (из spacy> = 2.2.2-> it_core_news_sm == 2.2.5) (4.43.0) Требование уже выполнено: cymem <2.1.0 ,> = 2.0.2 в c: \ users \ marco.fumagalli \ classifybusiness \ lib \ site-packages (из spacy> = 2.2.2-> it_core_news_sm == 2.2.5) (2.0.3) Требование уже выполнено : thinc == 7.4.0 в c: \ users \ marco.fumagalli \ classifybusines s \ lib \ site-packages (из spacy> = 2.2.2-> it_core_news_sm == 2.2.5) (7.4.0) Требование уже выполнено: blis <0.5.0,> = 0.4.0 в c: \ users \ marco.fumagalli \ classifybusiness \ lib \ site-packages (из spacy> = 2.2.2-> it_core_news_sm == 2.2.5) (0.4.1) Требование уже выполнено: запросы <3.0.0,> = 2.13.0 в c: \ users \ marco.fumagalli \ classifybusiness \ lib \ site-packages (из spacy> = 2.2.2-> it_core_news_sm == 2.2.5) (2.23.0) Требование уже выполнено: numpy> = 1.15.0 в c: \ users \ marco.fumagalli \ classifybusiness \ lib \ site-packages (из spacy> = 2.2.2-> it_core_news_sm == 2.2.5) (1.16.4) Требование уже выполнено: importlib- метаданные> = 0,20; python_version <"3.8" в c: \ users \ marco.fumagalli \ classifybusiness \ lib \ site-packages (из каталога <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 в c: \ users \ marco.fumagalli \ classifybusiness \ lib \ пакеты сайта (из запросов <3.0.0,> = 2.13.0-> spacy> = 2.2.2-> it_core_news_sm == 2.2.5) (1.23) Требование уже выполнено: chardet <4,> = 3.0.2 в c: \ users \ marco.fumagalli \ classifybusiness \ lib \ site-packages (из запросов <3.0.0,> = 2.13.0-> spacy> = 2.2.2-> it_core_news_sm == 2.2.5) (3.0 .4) Требование уже выполнено: certifi> = 2017.4.17 в c: \ users \ marco.fumagalli \ classifybusiness \ lib \ site-packages (из запросов <3.0.0,> = 2.13.0-> spacy> = 2.2.2-> it_core_news_sm == 2.2.5) (2019.11.28) Требование уже выполнено: idna <3,> = 2,5 в c: \ users \ marco. fumagalli \ classifybusiness \ lib \ site-packages (из запросов <3.0.0,> = 2.13.0-> spacy> = 2.2.2-> it_core_news_sm == 2.2.5) (2.9) Требование уже выполнено: zipp> = 0.5 в c: \ users \ marco.fumagalli \ classifybusiness \ lib \ site-packages (из importlib-metadata> = 0.20; python_version <"3.8" -> каталог <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 install для it-core-news-sm: начался Запуск setup.py install для it-core-news-sm: закончено со статусом «выполнено» успешно установлено it-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()

, это сработает .

Как я могу это решить?

Спасибо

...