Python SpaCyOSError:[E050]Can';找不到型号';en';在Heroku平台上

Python SpaCyOSError:[E050]Can';找不到型号';en';在Heroku平台上,python,heroku,spacy,Python,Heroku,Spacy,我正在尝试将我的rasa机器人部署到heroku,我正在使用python 我的requirements.txt文件如下所示: 空间==2.0.18 部署成功,但当我尝试这样运行作业时: web:python-mspacy下载en_core_web_md&&python my_code.py 或 web:python-mspacy下载en&&python my_code.py 然后我得到了这个错误: 文件“/app/.heroku/python/lib/python3.6/site packag

我正在尝试将我的rasa机器人部署到heroku,我正在使用python

我的requirements.txt文件如下所示:

空间==2.0.18

部署成功,但当我尝试这样运行作业时:

web:python-mspacy下载en_core_web_md&&python my_code.py

web:python-mspacy下载en&&python my_code.py

然后我得到了这个错误:

文件“/app/.heroku/python/lib/python3.6/site packages/spacy/util.py”,第119行,在load\u模型中 raise IOError(Errors.E050.format(name=name)) OSError:[E050]找不到型号“en”。它似乎不是快捷链接、Python包或数据目录的有效路径

我能做什么

问候,


zekeriya开始时我也遇到了同样的问题,但我最终能够将它部署到Heroku

您不需要执行“spacy下载…”,只需在您的Procfile中执行以下操作

web: python my_code.py
您还应该在requirements.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
import spacy
import en_core_web_md
nlp = en_core_web_md.load()
但我认为最重要的部分实际上是您访问SpacyAPI的部分,如下所示

python-3.7.2
import spacy
import en_core_web_md
nlp = en_core_web_md.load()

如何将Spacy导入到实际的python代码中?从需求文件中的模型下载时,您通常只需执行以下操作
import en_core_web_md
,无需同时运行下载