IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Python Discussion :

Ecrire une librairie qui soit perenne ?


Sujet :

Python

  1. #1
    Membre Expert
    Homme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    2 919
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 2 919
    Par défaut Ecrire une librairie qui soit perenne ?
    Salut,

    - Comment écrire une librairie qui soit perenne que même des utilisateurs débutants pourront utiliser facilement sans trop de prises de tête notamment avec l'installation et les configurations ?

    Je vois parfois des librairies qui ne fonctionnent pas car elles nécessitent la version 2 de python, est-ce que ce genre de problème peut encore arriver à l’avenir ? Et même d'une manière générale, est-il possible qu'une librairie qui fonctionne à une époque donnée avec une version de python donnée, ne fonctionne pas quelques années plus tard ?

    Faut-il donc préciser la version de python dans son dépôt ? Les utilisateurs pourront-ils télécharger les anciennes versions ?

    - Comment structurer son projet pour éviter le plus possible les prises de tête notamment avec l'installation et les configurations ?

    Je vois que maintenant UV semble avoir la côte, si j'ai bien compris on peut tout automatiser (environnement virtuel avec la version de python souhaitée,...).

    Merci.

  2. #2
    Membre prolifique Avatar de Artemus24
    Homme Profil pro
    Agent secret au service du président Ulysses S. Grant !
    Inscrit en
    Février 2011
    Messages
    7 525
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Agent secret au service du président Ulysses S. Grant !
    Secteur : Finance

    Informations forums :
    Inscription : Février 2011
    Messages : 7 525
    Par défaut
    Salut beginner.

    Citation Envoyé par Beginner
    Comment écrire une librairie qui soit pérenne ?
    Oui, c'est possible mais dans ce cas, il faut utiliser un langage qui soit indépendant de toute version de Python et de votre environnement.
    Par exemple en 'C".

  3. #3
    Expert confirmé
    Avatar de fred1599
    Homme Profil pro
    Lead Dev Python
    Inscrit en
    Juillet 2006
    Messages
    4 914
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Lead Dev Python
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2006
    Messages : 4 914
    Par défaut
    Hello,

    Concernant la rupture python 2 vers python 3, non, il est extrêmement improbable de revivre une telle fracture. La transition vers Python 3 était un changement de paradigme exceptionnel et nécessaire pour corriger des défauts fondamentaux du langage (notamment la gestion des chaînes de caractères et de l'Unicode). Le Python Steering Council (l'organisme qui dirige l'évolution du langage) a publiquement indiqué qu'un hypothétique "Python 4" n'introduirait pas de cassure de rétrocompatibilité d'une telle ampleur.

    Par contre dans mon taf, j'ai des projets legacy encore en python 2.6-2.7 et donc concrètement oui, on peut encore avoir de très vieux projets avec ces versions, mais tous les nouveaux projets n'ont plus à être en version 2.x
    Il peut arriver que certains projets ne fonctionnent plus, mais avec la containérisation (docker) il est rare de ne pas pouvoir faire revivre son projet legacy.

    Python évolue régulièrement, il y a la PEP 387 qui permet de suivre une politique stricte de dépréciation. Si une fonctionnalité doit disparaître, elle émet un avertissement (DeprecationWarning) pendant au moins deux versions annuelles avant d'être supprimée.

    Concernant le fait de préciser la version python, oui, c'est même obligatoire pour un projet professionnel. La norme actuelle (PEP 621) impose de déclarer la compatibilité dans un fichier unique nommé pyproject.toml via la clé requires-python (ex: requires-python = ">=3.9") et oui, les utilisateurs peuvent toujours télécharger et exécuter d'anciennes versions de Python. Les archives officielles de python.org conservent tout, et les outils modernes s'occupent d'aller les chercher automatiquement si nécessaire.

    Vous avez parfaitement raison concernant uv. Développé par Astral (qui édite aussi Ruff), uv est en train de devenir le standard de facto car il est extrêmement rapide (écrit en Rust) et remplace à lui seul presque tous les anciens outils de gestion de projet (pip, venv, poetry, pyenv, etc.). Tout doit être centralisé dans le fichier standard pyproject.toml.

    Petite astuce : si vous pouvez faire quelque chose avec la bibliothèque standard de Python, privilégiez-la plutôt que d'importer un paquet externe.

    J'espère avoir répondu à toutes vos questions, en tout cas vous avez déjà pas mal de mots clé pour vous guider vers des renseignements demandant plus de précisions.
    Celui qui trouve sans chercher est celui qui a longtemps cherché sans trouver.(Bachelard)
    La connaissance s'acquiert par l'expérience, tout le reste n'est que de l'information.(Einstein)

  4. #4
    Membre Expert
    Homme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    2 919
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 2 919
    Par défaut
    Salut et merci pour vos réponses...


    Citation Envoyé par Artemus24 Voir le message
    Par exemple en 'C".
    Je demandais pour une librairie en Python et éventuellement je me pose aussi la question pour une librairie en JS...

    Citation Envoyé par fred1599 Voir le message
    Il peut arriver que certains projets ne fonctionnent plus, mais avec la containérisation (docker) il est rare de ne pas pouvoir faire revivre son projet legacy.
    Ah oui c'est vrai j'ai oublié cette histoire de docker mais je crois justement que ce n'est pas forcément simple pour des utilisateurs débutants, j'avais essayé une fois pour tester un projet qui m'intéressait eh bien je n'ai pas réussi, il manquait je ne sais plus trop quoi...

    Citation Envoyé par fred1599 Voir le message
    Petite astuce : si vous pouvez faire quelque chose avec la bibliothèque standard de Python, privilégiez-la plutôt que d'importer un paquet externe.
    Effectivement...

  5. #5
    Expert confirmé
    Avatar de fred1599
    Homme Profil pro
    Lead Dev Python
    Inscrit en
    Juillet 2006
    Messages
    4 914
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Lead Dev Python
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2006
    Messages : 4 914
    Par défaut
    Ah oui c'est vrai j'ai oublié cette histoire de docker mais je crois justement que ce n'est pas forcément simple pour des utilisateurs débutants, j'avais essayé une fois pour tester un projet qui m'intéressait eh bien je n'ai pas réussi, il manquait je ne sais plus trop quoi...
    N'hésitez pas à demander ici, déjà regarder la doc et si vous ne comprenez pas, je peux vous aider, j'en bouffe tous les jours...
    Celui qui trouve sans chercher est celui qui a longtemps cherché sans trouver.(Bachelard)
    La connaissance s'acquiert par l'expérience, tout le reste n'est que de l'information.(Einstein)

  6. #6
    Membre Expert
    Homme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    2 919
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 2 919
    Par défaut
    Merci pour cette proposition d'aide...

Discussions similaires

  1. Réponses: 1
    Dernier message: 26/02/2009, 15h38
  2. 1 Partie seulement d'une image qui soit cliquable.
    Par levirus93700 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 8
    Dernier message: 04/05/2008, 10h26
  3. Réponses: 3
    Dernier message: 28/03/2008, 10h48
  4. Réponses: 1
    Dernier message: 12/12/2007, 13h38
  5. Réponses: 15
    Dernier message: 15/12/2005, 14h36

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo