我正在尝试将rasa bot部署到heroku,并且正在使用python。
我的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
部署成功,但是当我尝试运行这样的作业时:
web:python -m spacy下载en_core_web_md && python my_code.py
或
web:python -m spacy下载zh && python my_code.py
然后我收到此错误:
文件“ /app/.heroku/python/lib/python3.6/site-packages/spacy/util.py”,行119,位于load_model中 引发IOError(Errors.E050.format(name = name)) OSError:[E050]找不到型号'en'。它似乎不是快捷方式链接,Python包或数据目录的有效路径。
我该怎么办?
此致
zekeriya
答案 0 :(得分:0)
起初我遇到了同样的问题,但是我终于能够将其部署到Heroku中。
您无需执行“ spacy download ...”,只需在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
但是我认为最重要的部分实际上是您访问spacy api的部分,
import spacy
import en_core_web_md
nlp = en_core_web_md.load()