Et oui, on parvient à faire des distributions Linux qui ne dupliquent pas les dépendances, mais grâce à des mainteneurs dévoués qui s'occupent de trouver des versions compatibles entre elles pour toute la distribution. PyPI a un modèle social complètement différent, n'importe qui peut y publier, donc ce n'est tout simplement pas possible.
C’est vite dit... et faux, à mon avis.
Sur Linux, on trouve par exemple libssl.so.3 et libssl.so.1.1, et ce n’est pas pour rien : les distributions Linux se bâtissent sur une collection de programmes open-source elles aussi, et ces programmes ne sont pas tous d’accord sur quelle version de telle ou telle lib utiliser.
Autre exemple : avec Nix (mentionné plus haut), chaque paquet est installé dans un répertoire portant un nom technique ± unique (un hash, je crois), permettant ainsi une cohabitation quasi-infinie.
Soit dit en passant, je crois que Nix est multi-plateformes, contrairement à Guix.
Avec Python, un mécanisme similaire pourrait être retenu, permettant d’installer autant de versions que l’on veut sans provoquer de conflits, quitte à étendre quelques syntaxes pour aider à désambiguïser.
[^] # Re: Excellent article
Posté par Yves (site web personnel) . En réponse à la dépêche L'installation et la distribution de paquets Python (2/4). Évalué à 2.
C’est vite dit... et faux, à mon avis.
Sur Linux, on trouve par exemple
libssl.so.3etlibssl.so.1.1, et ce n’est pas pour rien : les distributions Linux se bâtissent sur une collection de programmes open-source elles aussi, et ces programmes ne sont pas tous d’accord sur quelle version de telle ou telle lib utiliser.Autre exemple : avec Nix (mentionné plus haut), chaque paquet est installé dans un répertoire portant un nom technique ± unique (un hash, je crois), permettant ainsi une cohabitation quasi-infinie.
Soit dit en passant, je crois que Nix est multi-plateformes, contrairement à Guix.
Avec Python, un mécanisme similaire pourrait être retenu, permettant d’installer autant de versions que l’on veut sans provoquer de conflits, quitte à étendre quelques syntaxes pour aider à désambiguïser.