• # Retour vers le futur ?

    Posté par . En réponse à la dépêche Le gestionnaire de projet Python Poetry 1.0.0 est disponible !. Évalué à 6. Dernière modification le 19 décembre 2019 à 02:49.

    Il y a quelques années, on avait au moins 4 façons d'empaqueter notre
    projet pour PyPI : setuptools, distutils, distribute et distribute2. Au
    bout d'un certain temps, setuptools s'est imposé comme la solution de
    facto
    . Tout le monde (ou presque) déteste setuptools, mais au moins, on
    avait une façon standardisée de faire les choses.

    Depuis les PEP 517/518 et l'introduction de pyproject.toml, on voit
    fleurir divers projets ayant pour objectif de remplacer setuptools,
    notamment poetry, flit et hatch. Est-ce qu'on ne va pas se retrouver
    dans la situation décrite dans le premier paragraphe ?

    Pour en rajouter une couche sur la multiplicité des outils, j'avoue que
    j'ai plus ou moins capitulé devant tant de complexité, alors que je suis
    développeur Python et que c'est aussi une partie très importante de mon
    emploi. Je retrouve en permanence des fichiers .egg-info dans mes
    sources alors que le format egg a été déprécié depuis bien longtemps, ce
    qui m'étonne. Et j'avoue être incapable de vraiment comprendre à quoi
    servent pipx, pipenv, requirements-*.txt, Pipfile, Pipfile.lock, etc.

    J'utilise "tox" pour mes tests unitaires, et je me fais parfois des venv
    à la main avec "python3 -m venv". Je connais des gens extrêmement bons
    en Python qui me disent "bon bah moi, quand je commence un projet, je
    copie/colle un vieux setup.py et je modifie ce qu'il faut". Est-ce qu'on
    rate vraiment quelque chose ?