【问题标题】:Heroku Deployment Error: No matching distribution found for en-core-web-smHeroku 部署错误:找不到与 en-core-web-sm 匹配的发行版
【发布时间】:2019-09-25 11:25:47
【问题描述】:

我正在尝试将我的 Django 和 spaCy 项目部署到 Heroku。但我收到一个错误:没有找到与 en-core-web-sm 匹配的分布(这是一个可通过 pip 下载的 ML 模型)。我怎么解决这个问题?该模型在本地安装在虚拟环境中并且可以正常工作。我通过 pip freeze 获得了需求文件。我正在使用 Python 3.6.4。

【问题讨论】:

    标签: python django heroku spacy


    【解决方案1】:

    看起来pip install en-core-web-sm 也不起作用,所以我想知道您是如何在本地安装它的?

    一种可能的解决方案是从 github 而不是 pypi 获取它,方法是在 requirements.txt 中添加这一行

    -e https://github.com/explosion/spacy-models/releases/download/en_vectors_web_lg-2.1.0/en_vectors_web_lg-2.1.0.tar.gz#egg=en_core_web_sm
    

    【讨论】:

    • 我通过 pip 下载了它,但构建失败,因为我没有所需的 C++ 构建工具。所以我直接(本地)下载了二进制文件。现在我刚刚尝试部署您的解决方案并收到另一条错误消息:github.com/explosion/spacy-models/releases/download/… 应该是本地项目的路径或以 svn+、git+、hg+ 或 bzr+ 开头的 VCS url
    • 尝试删除-e
    • 几乎成功了!但是有没有办法因为蛞蝓尺寸超过而获得更小尺寸的模型? 751.2M 太大(最大为 500M)。
    • 环顾一番后,我想你可以试试这个链接:https://github.com/explosion/spacy-models/releases/download/en_core_web_sm-2.1.0/en_core_web_sm-2.1.0.tar.gz#egg=en_core_web_sm==2.1.0
    【解决方案2】:

    只需将以下行添加到您的“requirements.txt”文件中...

    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
    

    或者,要获得确切的版本,请运行以下命令:

    pip freeze
    

    并复制您在命令提示符中找到的类似行。

    【讨论】:

      【解决方案3】:

      我找到了在 Heroku 上安装 en_core_web_sm 的替代方法,但尚未发现任何副作用,它正在以这种方式编辑配置文件:

      web: sh setup.sh && python -m spacy 下载 en_core_web_sm && streamlit run app.py

      如果每个人都发现它不再可用,请告诉我。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2019-03-20
        • 2021-12-26
        • 2018-06-27
        • 1970-01-01
        • 1970-01-01
        • 2019-05-24
        • 2022-01-24
        • 1970-01-01
        相关资源
        最近更新 更多