Nous avions pour l'instant une gestion des dépendances assez basique avec pip et requirements.txt.
Le problème étant que requirements.txt contenait à la fois nos dépendances directes et nos dépendances de dépendances. Il était du coup difficile de savoir quoi mettre à jour et de gérer les éventuels conflits de versions.
L'idée en passant à Poetry est d'avoir un fichier pyproject.toml qui contient la liste de nos dépendances directes avec les versions que l'on souhaite utiliser. Les dépendances de dev sont mises à part, ce qui nous permet de choisir ce que l'on veut installer en fonction de l'environnement de travail (dev ou prod). Lors de la première installation de ces dépendances un fichier lock est créé qui contient toutes nos dépendances ainsi que les dépendances de nos dépendances, ce qui permet de reproduire avec certitude une installation.
Lorsque l'on veut ajouter un package python au projet, on utilise la commande poetry :
poetry add nom_du_package
on peut aussi spécifier une version
poetry add nom_du_package@~2.3.0
ce qui va mettre à jour les fichiers pyproject.toml et poetry.lock.
(Il faut installer poetry sur son poste pour pouvoir faire ça.)
Poetry nous permet d'avoir une bien meilleure vision d'ensemble sur ce qui doit être mis à jour :
Nous avions pour l'instant une gestion des dépendances assez basique avec pip et requirements.txt.
Le problème étant que requirements.txt contenait à la fois nos dépendances directes et nos dépendances de dépendances. Il était du coup difficile de savoir quoi mettre à jour et de gérer les éventuels conflits de versions.
L'idée en passant à Poetry est d'avoir un fichier pyproject.toml qui contient la liste de nos dépendances directes avec les versions que l'on souhaite utiliser. Les dépendances de dev sont mises à part, ce qui nous permet de choisir ce que l'on veut installer en fonction de l'environnement de travail (dev ou prod). Lors de la première installation de ces dépendances un fichier lock est créé qui contient toutes nos dépendances ainsi que les dépendances de nos dépendances, ce qui permet de reproduire avec certitude une installation.
Lorsque l'on veut ajouter un package python au projet, on utilise la commande poetry :
on peut aussi spécifier une version
ce qui va mettre à jour les fichiers
pyproject.toml
etpoetry.lock
. (Il faut installer poetry sur son poste pour pouvoir faire ça.)Poetry nous permet d'avoir une bien meilleure vision d'ensemble sur ce qui doit être mis à jour :