Le Livre d'Argent

Perdus dans la jungle des outils permettants de gérer vos paquetages et environnements ?

Anna-Lena Popkes a tout analysé pour y voir plus clair (en août dernier) ⤵

"An unbiased evaluation of environment management and packaging tools"
https://alpopkes.com/posts/python/packaging_tools/

@nojhan ce graph est la raison pour laquelle j'aime pas python ^__^

@lord @nojhan Perso, je code pas mal en python, et je n'ai jamais rien utilisé de tout ça… 🤔 le seul outil dont j'ai besoin pour gérer les modules que j'utilise, c'est apt.

@lord Oui hein, heureusement que npm et crate sont là pour montrer que tout cela devrait pourtant être facile à faire correctement…

@nojhan 🤮

@nojhan nix where

"where banana" meme

@elzen @nojhan @lord Peut-être parce que tu fais du code seul dans ton coin et que tu n'as pas à faire tourner ton code sur d'autres environnements ?

@nojhan @lord C'est bien pour ça que je fais du .

@dolmen @nojhan @lord Je fais tourner mon code sur plusieurs environnements différents. Mais c'est à chaque fois une Debian avec la possibilité d'apt install les quelques paquets que je ne trouve pas dans les biblis fournies de base par python.

Et pour le déploiement d'une machine à l'autre, un coup de git pull et éventuellement la modification de $PYTHONPATH dans le terminal actif si je fous ça ailleurs pour faire des tests, ça m'a toujours suffit largement.

J'ajoute d'ailleurs que la quantité de dépendances externes requise par certains projets est aussi quelque chose qui me perplexifie pas mal. À part une bibliothèque graphique, le python standard fournit déjà une très grosse partie de tout ce dont il peut y avoir besoin…
replies
1
announces
0
likes
0

@dolmen @lord @nojhan Le seul cas où je me rappelle que mon approche a été prise en défaut, c'est quand j'ai essayé de tester un truc sous Debian GNU/kFreeBSD et que je me suis rendu compte que le paquet python3-psutil n'était pas encore porté pour (le reste tournait sans problème à part ça). Mais bon, vu que c'était juste avant que cette variante soit remisée faute de gens pour s'en occuper…

@elzen @dolmen @nojhan est-ce que "plusieurs environnements différents" et "à chaque fois sous debian" c'est pas un peu contradictoire ?

@lord @dolmen @nojhan Ça dépend de ce que tu appelles « environnement », je suppose, mais, mon ordi de tous les jours, mon serveur et les différentes machines que j'ai vu passer dans mes boulots ont des config logicielles et parfois matérielles (notamment x86 ou arm) qui diffèrent un peu trop pour que je considère ça comme « la même chose », perso.

Sinon je sais que des gens ont fait tourner sur/contribué à certains de mes projets en utilisant autre chose (du Arch, notamment), visiblement sans grande difficulté, mais comme je ne connais pas trop les autres systèmes de paquets je ne parle en détail que de celui que j'utilise.

@elzen @nojhan @lord Ça me semble bien une exposition très limitée aux problématiques de portabilité, de conflits de versions.
L'écosystème Python est bien plus étendu.

@dolmen @nojhan @lord Je n'en doute pas. Mais pour ce que j'ai eu l'occasion de voir jusque là, je pense que mon approche serait largement plus adaptée dans une proportion non-négligeable de cas si elle venait à l'esprit des gens qui en auraient besoin (environ chaque fois que j'ai discuté à ce sujet avec des gens beaucoup plus plongés que moi dans le dev Python, le seul point bloquant de mon approche vis-à-vis de leurs projets était qu'elle ne leur avait juste pas traversé l'esprit), raison pour laquelle je me permet d'intervenir à ce sujet quand j'en vois passer l'occasion.

@elzen @dolmen @lord J'ai tenu assez longtemps sur cette approche, mais depuis que je fais de la bioinfomatique, c'est devenu proprement impossible et poetry/conda & co. sont indispensables.

@elzen @nojhan @lord Je me permets juste de te rappeler que ta vision de l'écosystème Python exclut les utilisateurs de Python sur Windows, macOS, Alpine Linux, Arch, et plein d'autres systèmes d'exploitation. Voilà pourquoi d'autres trouvent ta solution très limitée.

@dolmen @nojhan @lord Alors, non, elle ne les exclut pas. D'ailleurs, comme je l'ai dit très explicitement ailleurs dans cette discussion : des gens qui utilisent Arch ont utilisé mes dépôts git et y ont contribué sans le moindre souci. Simplement, moi j'utilise Debian, donc c'est d'apt que je vais parler, n'étant pas sûr exactement de comment ça se passe avec d'autres systèmes de paquets (mais ce qui est possible sous Debian est au moins théoriquement possible sous les autres GNU/Linux ou *BSD, ça dépend juste de si les mainteneurs du système ont empaqueté des modules pythons ou pas).

Par contre, oui, j'admets très volontiers que ça va être plus dur côté Windows ou MacOS, mais ce ne serait pas le seul truc pour pour lequel les gens qui utilisent ces systèmes ont besoin d'outils spécifiques, il me semble.