Beachten Sie, dass ich die Python-Umgebung mit Poetry verwalte und verschiedene Pakete für den Lernserver und den Inferenzserver bereitstellen möchte.
Grundsätzlich dachte ich, es wäre gut, alles in Abhängigkeiten zu setzen, aber es scheint, dass es leistungsstarke und bösartige Pakete auf der Welt gibt, die allein durch die Installation mehrere GB Speicher benötigen, sodass selbst eine schlechte Infrastruktur sie installieren kann. Hey ... das wurde ein Problem.
Es klingt vernünftig, Ihre Infrastruktur (vorübergehend) zu stärken. Sind Sie jedoch zuversichtlich, dass Sie die Größe Ihrer Instanz nach Abschluss der Installation in den nächsten Monaten oder Jahren definitiv ändern werden? Ich nicht. Also habe ich es mir ausgedacht.
Poesie hat das Konzept von "optional" und "Extras". Optionen für die Unterbefehle "Hinzufügen" bzw. "Installieren".
Abschließend haben die folgenden Schritte funktioniert:
$ poetry add --optional SOME_STRONG_PACKAGE
$ vi pyproject.toml
#↓ Hinzufügen
[tool.poetry.extras]
train = ["torch", "torchtext"]
↑ Gruppenname ↑ Liste der zu installierenden Pakete (stellen Sie sicher, dass dies in Abhängigkeiten optional ist)
$ poetry install
$ poetry install -E train
Wenn ich die obige Methode für ein Projekt versuche, das bereits von Poetry verwaltet wird, wird folgende Fehlermeldung angezeigt:
[ValueError]
Extra [train] is not specified.
Danach habe ich poetry.lock
gelöscht und die oben genannte Poetry Install -E Train
erneut versucht und es hat funktioniert.
Offensichtlich ist die Fehlermeldung eine unfreundliche </ s> PR-Chance.
Recommended Posts