Abhängigkeitshölle mit Python
Im Vigilant Crypto Snatch Projekt nutze ich Python als Programmiersprache und Poetry zum Verwalten der Abhängigkeiten. Dabei hat sich mit der Zeit einiges angesammelt:
[tool.poetry.dependencies] BitstampClient = "^2.2.8" appdirs = "^1.4.4" coloredlogs = "^15.0" python = "^3.7.1,<3.11" pyyaml = "^6.0" requests = "^2.25.1" sqlalchemy = "^1.4.27" urllib3 = "^1.26.3" krakenex = "^2.1.0" python-dateutil = "^2.8.2" click = "^8.0.0" ccxt = "^1.74.11" pandas = { version = "^1.3.4", optional = true } scipy = { version = "^1.7.2", optional = true } streamlit = { version = "^1.2.0", optional = true } altair = { version = "^4.1.0", optional = true } PySide6 = { version = "^6.3.0", optional = true }
Das Problem dabei ist, dass jedes dieser Pakete wieder neue Abhängigkeiten reinzieht. So hängt Streamlit wieder von Click ab, jedoch in einer älteren Version. So hatte Streamlit früher maximal Click 7 unterstützt. Ich musste also erst Streamlit aktualisieren, bevor ich Click 8 nutzen konnte. Poetry löst diese Abhängigkeiten alle auf und erstellt dann eine Liste mit allen Versionen, die passend sind.