SpaCyOSError: [E050] Не удается найти модель 'en' на платформе Heroku - PullRequest
0 голосов
/ 16 января 2019

Я пытаюсь развернуть своего раса-бота на heroku и использую python.

Мой файл require.txt выглядит так:

простор == 2.0.18
https://github.com/explosion/spacy-models/releases/download/en_core_web_md-2.0.0/en_core_web_md-2.0.0.tar.gz#egg=en_core_web_md==2.0.0

Развертывание прошло успешно, но когда я пытаюсь запустить задание следующим образом:

web: python -m spacy download en_core_web_md && python my_code.py

или

web: python -m spacy download ru && python my_code.py

тогда я получаю эту ошибку:

Файл "/app/.heroku/python/lib/python3.6/site-packages/spacy/util.py", строка 119, в load_model поднять IOError (Errors.E050.format (name = name)) Ошибка OSE: [E050] Не удается найти модель 'en'. Кажется, это не ссылка для быстрого доступа, пакет Python или правильный путь к каталогу данных.

что я могу сделать?

С уважением,

Zekeriya

1 Ответ

0 голосов
/ 20 февраля 2019

Сначала у меня была такая же проблема, но я наконец смог развернуть ее в Heroku.

Вам не нужно делать "простую загрузку ...", только следующее в вашем Procfile;

web: python my_code.py

У вас также должно быть следующее в ваших файлах require.txt;

spacy==2.0.18
https://github.com/explosion/spacy-models/releases/download/en_core_web_md-2.0.0/en_core_web_md-2.0.0.tar.gz#egg=en_core_web_md==2.0.0

У меня также был файл runtime.txt для указания версии Python, например:

python-3.7.2

Но я думаю, что самая важная часть - это та часть, где вы, на самом деле, получаете доступ к spacy api, вот так;

import spacy
import en_core_web_md
nlp = en_core_web_md.load()
...