Wie füge ich ein Spacy-Modell zu einer requirements.txt-Datei hinzu?

Lesezeit: 4 Minuten

Ich habe eine App, die das Spacy-Modell “en_core_web_sm” verwendet. Ich habe die App auf meinem lokalen Rechner getestet und sie funktioniert einwandfrei.

Wenn ich es jedoch in Heroku bereitstelle, erhalte ich diesen Fehler:

“Modell ‘en_core_web_sm’ kann nicht gefunden werden. Es scheint kein Shortcut-Link, Python-Paket oder gültiger Pfad zu einem Datenverzeichnis zu sein.”

Meine Anforderungsdatei enthält spacy==2.2.4.

Ich habe einige Nachforschungen zu diesem Fehler angestellt und festgestellt, dass das Modell mit diesem Befehl separat heruntergeladen werden muss:
python -m spacy download en_core_web_sm

Ich habe nach Möglichkeiten gesucht, das Gleiche zu meiner requirements.txt-Datei hinzuzufügen, konnte aber keine finden, die funktioniert!

Ich habe dies auch versucht – Folgendes zur Anforderungsdatei hinzugefügt:

-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

aber es gab diesen Fehler:

„Klonen von git://github.com/explosion/spacy-models/releases/download/en_core_web_sm-2.2.0/en_core_web_sm-2.2.0.tar.gz nach /app/.heroku/src/en-core-web- klein

Führen Sie den Befehl 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 aus -web-sm fatal: remote error: explosion/spacy-models/releases/download/en_core_web_sm-2.2.0/en_core_web_sm-2.2.0.tar.gz ist kein gültiger Repository-Name”

Gibt es eine Möglichkeit, dieses Spacy-Modell aus der Anforderungsdatei zu laden? Oder eine andere Lösung, die möglich ist?

Vielen Dank.

  • Sie erhalten diesen Fehler, weil das eine URL zu einer ZIP-Datei ist … Sie müssen eine URL an ein Repository übergeben, damit Git sie klonen kann …

    – Swetank Poddar

    9. Mai 2020 um 19:19 Uhr


  • Danke Swetank, ich bin nicht in der Lage, herauszufinden, was diese URL wäre. Könnten Sie bitte helfen? Vielen Dank im Voraus.

    – rohit0505

    9. Mai 2020 um 19:36 Uhr

  • Die Antwort unten wurde bearbeitet, um Ihre Frage zu beantworten! 😀

    – Swetank Poddar

    9. Mai 2020 um 19:54 Uhr

  • Danke Swetank, die bearbeitete Antwort gibt immer noch einen Fehler: “Cloning git://github.com/explosion/spacy-models/releases/download/en_core_web_sm-2.2.5/en_core_web_sm-2.2.5.tar.gz to /tmp/ pip-req-build-at911nv7 Ausführen des Befehls git clone -q git://github.com/explosion/spacy-models/releases/download/en_core_web_sm-2.2.5/en_core_web_sm-2.2.5.tar.gz /tmp/pip -req-build-at911nv7 fatal: remote error: explosion/spacy-models/releases/download/en_core_web_sm-2.2.5/en_core_web_sm-2.2.5.tar.gz ist kein gültiger Repository-Name”

    – rohit0505

    10. Mai 2020 um 6:29 Uhr

Benutzer-Avatar
Tausif

Fügen Sie dies in Ihrem Bereitstellungsschritt hinzu, wenn Sie docker add in Dockerfile verwenden

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

BEARBEITEN

Hinzufügen

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

in requirements.txt

Spacy Doc
Verweisen Downloading and requiring model dependencies Sektion

Weitere Informationen zum Hinzufügen von github-Quelle siehe dies und folgen YPCrumble Antworten

  • Danke Tausif, gibt es eine Möglichkeit, dies der Anforderungsdatei hinzuzufügen? Docker verwende ich nicht.

    – rohit0505

    9. Mai 2020 um 19:34 Uhr

  • Danke Tausif, es gibt immer noch einen Fehler: ” Cloning git://github.com/explosion/spacy-models/releases/download/en_core_web_sm-2.2.5/en_core_web_sm-2.2.5.tar.gz to /tmp/pip- req-build-at911nv7 Ausführen des Befehls git clone -q git://github.com/explosion/spacy-models/releases/download/en_core_web_sm-2.2.5/en_core_web_sm-2.2.5.tar.gz /tmp/pip-req -build-at911nv7 fatal: remote error: explosion/spacy-models/releases/download/en_core_web_sm-2.2.5/en_core_web_sm-2.2.5.tar.gz ist kein gültiger Repository-Name”

    – rohit0505

    10. Mai 2020 um 6:28 Uhr


Ok, nach weiterem Googeln und Suchen nach einer Lösung habe ich diese Lösung gefunden, die funktioniert hat:

Ich habe den Tarball von der URL, die @tausif in seiner Antwort geteilt hat, auf mein lokales System heruntergeladen.

Gespeichert in dem Verzeichnis, in dem sich meine requirements.txt-Datei befand.

Dann habe ich diese Zeile zu meiner requirements.txt-Datei hinzugefügt: ./en_core_web_sm-2.2.5.tar.gz

Fahren Sie mit der Bereitstellung in Heroku fort – es war erfolgreich und die App funktioniert jetzt perfekt.

  • Überprüfen Sie die Bearbeitung meiner Antwort. Dies ist möglicherweise eine sauberere Methode, wenn dies funktioniert.

    – Tausif

    11. Mai 2020 um 18:24 Uhr

  • Vielen Dank, Tausif, werde die neueste Bearbeitung Ihrer Antwort in meiner nächsten Bearbeitung der App testen und entsprechend hierher zurückkehren.

    – rohit0505

    12. Mai 2020 um 19:12 Uhr

Für en-core-web-sm == 3.0.0 hat das bei mir funktioniert.

Ersetzen Sie die Zeile "en-core-web-sm==3.0.0" mit

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

1092270cookie-checkWie füge ich ein Spacy-Modell zu einer requirements.txt-Datei hinzu?

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy