如何将 Spacy 模型添加到 requirements.txt 文件中?

roh*_*505 11 python git heroku spacy

我有一个使用 Spacy 模型“en_core_web_sm”的应用程序。我已经在我的本地机器上测试了该应用程序,它运行良好。

但是,当我将它部署到 Heroku 时,它给了我这个错误:

“找不到模型 'en_core_web_sm'。它似乎不是快捷链接、Python 包或数据目录的有效路径。”

我的需求文件包含 spacy==2.2.4。

我一直在研究这个错误,发现需要使用这个命令单独下载模型: python -m spacy download en_core_web_sm

我一直在寻找将相同内容添加到我的 requirements.txt 文件中的方法,但一直找不到有效的方法!

我也试过这个 - 将以下内容添加到需求文件中:

-e git://github.com/explosion/spacy-models/releases/download/en_core_web_sm-2.2.0/en_core_web_sm-2.2.0.tar.gz#egg=en_core_web_sm==2.2.0

但它给出了这个错误:

“克隆 git://github.com/explosion/spacy-models/releases/download/en_core_web_sm-2.2.0/en_core_web_sm-2.2.0.tar.gz 到 /app/.heroku/src/en-core-web- sm

运行命令 git clone -q git://github.com/explosion/spacy-models/releases/download/en_core_web_sm-2.2.0/en_core_web_sm-2.2.0.tar.gz /app/.heroku/src/en-core -web-sm 致命:远程错误:explosion/spacy-models/releases/download/en_core_web_sm-2.2.0/en_core_web_sm-2.2.0.tar.gz 不是有效的存储库名称”

有没有办法让这个 Spacy 模型从需求文件中加载?或者任何其他可能的修复?

谢谢你。

tau*_*sif 13

如果在 Dockerfile 中使用 docker add,请在部署步骤中添加此项

pip3 install https://github.com/explosion/spacy-models/releases/download/en_core_web_sm-2.2.5/en_core_web_sm-2.2.5.tar.gz --user
Run Code Online (Sandbox Code Playgroud)

编辑

添加

spacy>=2.2.0,<3.0.0 https://github.com/explosion/spacy-models/releases/download/en_core_web_sm-2.2.0/en_core_web_sm-2.2.0.tar.gz#egg=en_core_web_sm

requirements.txt

Spacy Doc 参考Downloading and requiring model dependencies部分

有关如何添加github-source 的 更多详细信息,请参阅此内容并遵循YPCrumble答案


R K*_*mar 12

对于 en-core-web-sm == 3.0.0,这对我有用。

将行替换"en-core-web-sm==3.0.0"

en-core-web-sm @ https://github.com/explosion/spacy-models/releases/download/en_core_web_sm-3.0.0/en_core_web_sm-3.0.0-py3-none-any.whl
Run Code Online (Sandbox Code Playgroud)


roh*_*505 7

好的,经过更多的谷歌搜索和寻找解决方案后,我发现这个解决方案有效:

我从 @tausif 在他的答案中共享的 URL 下载了 tarball 到我的本地系统。

将其保存在包含我的requirements.txt 文件的目录中。

然后我将此行添加到我的requirements.txt 文件中:./en_core_web_sm-2.2.5.tar.gz

继续部署到 Heroku - 它成功了,应用程序现在可以完美运行。