Comment créer des packages Python [2023]

Python est le troisième langage de programmation le plus utilisé d’après une enquête Stackoverflow de 2023. Cet objectif général peut être utilisé dans la science des données, le développement Web, l’apprentissage automatique, le génie logiciel et le calcul scientifique.

Un package Python est l’un des termes que vous rencontrerez lorsque vous apprendrez et interagirez avec le langage Python. Que sont les packages Python et comment en créer ?

Cet article sera;

  • Définir les packages Python
  • Expliquer l’importance des packages Python dans la programmation
  • Démontrer comment créer des packages Python
  • Démontrer comment utiliser et tester les packages Python
  • Démontrer comment télécharger des packages Python

Que sont les packages Python ?

Les packages Python sont des éléments essentiels de la programmation. Sans packages, les développeurs pourraient tout écrire à partir de zéro, faisant de la programmation un processus long et stressant. Les packages Python sont des collections de modules Python, essentiellement une collection de code réutilisable.

Un module en Python est un fichier contenant du code Python qui peut être importé dans d’autres programmes Python. Pour créer un package Python, vous devez stocker le code dans un répertoire contenant un fichier __init__.py.

Un package Python peut contenir d’autres packages (imbrication), et des milliers de packages Python sont disponibles en ligne. Certains de ces packages sont officiels, d’autres non. La plupart des packages Python sont disponibles sur https://pypi.org/.

Django, un framework Web Python, est un exemple de package que vous pouvez utiliser pour créer des applications Web. Scikit-learn, PyTorch et TensorFlow sont des packages populaires dans le domaine de l’apprentissage automatique.

Importance des packages Python

Pourquoi ne pas tout créer à partir de zéro en tant que programmeur ? Avons-nous besoin de packages Python ? Ce sont quelques-unes des raisons pour lesquelles les packages Python sont importants ;

  • Gain de temps : le package Python vous donne accès à un code pré-écrit qui résout les problèmes courants. Vous pouvez utiliser des packages Python au lieu de réinventer la roue chaque fois que vous souhaitez écrire un script Python.
  • Facilite la distribution du code : la collaboration est très courante en programmation. Vous pouvez créer un package Python que les membres de votre équipe peuvent toujours importer lorsqu’ils collaborent sur un projet.
  • Réutilisabilité du code : s’il existe un bloc de code que vous devez toujours écrire dans vos programmes Python, vous pouvez le conditionner et l’importer dans vos applications.
  • Organisation du code : les packages Python vous permettent d’organiser votre code en modules logiques. Une telle approche facilite la lecture et la maintenance de votre code Python.

Comment créer votre premier package Python

Nous avons déjà indiqué que Python est un langage à usage général. Vous pouvez créer différents types de packages en tant que programmeur.

Par exemple, vous pouvez avoir un package qui automatise certaines tâches, un package qui vous aide à établir un budget ou même apprendre une nouvelle langue. Cependant, avant de commencer à créer votre premier package, vous avez besoin des éléments suivants ;

Conditions préalables;

  • Python est installé sur votre machine locale. Si vous utilisez Linux, Python est installé par défaut avec votre système d’exploitation. Vous pouvez utiliser cette commande python –version ou python3 –version pour vérifier si Python est installé. Si Python est installé, vous verrez quelque chose comme ça sur votre terminal ;

Si vous n’avez pas Python, vous pouvez le télécharger sur https://www.python.org/downloads/.

  • Compréhension de Python. Vous devez comprendre comment écrire des classes, des modules et des fonctions Python.
  • Un gestionnaire de paquets. Nous utiliserons pip pour cette démonstration. Vous pouvez vérifier si pip est installé à l’aide de cette commande ;
pip --version

S’il est installé, vous verrez quelque chose de similaire sur votre terminal.

Les exigences peuvent varier en fonction de la nature du package que vous souhaitez installer.

Je vais créer un package Python simple pour cette démonstration qui vérifie si un nombre est premier. Vous pouvez suivre;

  • Première étape : créer un dossier de projet. Je nommerai le mien comme primechecker.
  • Deuxième étape : créez un autre dossier dans le dossier primechecker et nommez-le prime.
  • Étape 3 : Créez un fichier dans le répertoire que vous avez créé à l’étape 2 et nommez-le prime.py. Vous pouvez combiner les trois étapes à l’aide de cette commande ;
 mkdir primechecker && cd primechecker && mkdir prime && cd prime && touch prime.py
  • Troisième étape : Ouvrez votre projet dans votre éditeur de code. Vous pouvez ensuite ajouter ce code au fichier prime.py qui vérifie si un nombre est un nombre premier ;
def is_prime(number):

    if number < 2:

        return False

    for i in range(2, int(number ** 0.5) + 1):

        if number % i == 0:

            return False

    return True
  • Quatrième étape : dans le dossier principal, créez un nouveau fichier et nommez-le __init__.py. Ce fichier permet à Python de reconnaître le dossier du projet que nous avons créé en tant que package.

Vous pouvez utiliser cette commande ;

touch prime/__init__.py
  • Cinquième étape : testez votre code. Nous pouvons créer un script dans un fichier test.py à l’intérieur du dossier racine qui vérifie si un nombre est premier. Revenez au dossier principal et utilisez cette commande ;
touch test.py

Vous pouvez ensuite ajouter ce code à ce fichier ;

from prime.prime import is_prime

number = int(input("Enter a number: "))

result = is_prime(number)

print(f"{number} is prime: {result}")

Exécutez cette commande pour vérifier votre code ;

python3 test.py

Vous pouvez maintenant entrer un nombre et vérifier s’il est premier.

Par exemple, j’ai vérifié si 5 et 1 sont des nombres premiers et j’ai obtenu ce qui suit ;

Comment télécharger le package en ligne

Vous pouvez héberger le package que vous avez créé sur PyPI (Python Package Index). Il s’agit d’un référentiel central contenant des milliers de packages Python. Rendez-vous sur https://pypi.org/ et créez un compte si vous n’en avez pas.

Vous pouvez suivre ces étapes maintenant pour télécharger votre package en ligne ;

  • Étape 1 : Créez un nouveau fichier dans le dossier racine (le mien est primechecker) et nommez-le setup.py.
  • Étape 2 : Modifiez le contenu du fichier setup.py pour qu’il contienne des informations sur le package que vous souhaitez télécharger.

Le code de ce fichier doit être le suivant ;

from setuptools import setup, find_packages

setup(

    name="primechecker",

    version='1.0.0',

    author="Your Name",

    author_email="[email protected]",

    description='A package for checking prime numbers',

    packages=find_packages(),

)

Modifiez le nom, l’auteur, l’adresse e-mail de l’auteur et la description en fonction des détails de votre package.

  • Étape 3 : Construisez votre package. Exécutez cette commande tout en restant dans le dossier racine ;
python3 setup.py sdist bdist_wheel

Si vous vérifiez votre dossier de projet, vous pouvez voir deux nouveaux dossiers (build et dist) dans le dossier racine.

  • Étape 4 : Installez la ficelle. Il s’agit du package nécessaire pour télécharger des packages sur PyPI.

Utilisez cette commande ;

pip install twine
  • Étape 5 : Téléchargez le package

Utilisez cette commande ;

twine upload dist/*

Vous serez invité à saisir votre nom d’utilisateur et votre mot de passe. Si le nom de votre forfait n’est pas déjà pris, le forfait sera mis en ligne, et vous obtiendrez un lien sur votre terminal.

Le dossier que vous venez de publier sera accessible au public. Quiconque souhaite utiliser le package peut le télécharger en utilisant pip.

Par exemple, le package que j’ai publié peut être téléchargé en tant que ;

pip install primechecker==1.0.0.

Meilleures pratiques pour créer des packages Python

  • Faites attention aux normes d’emballage Python : Même si vous êtes libre de décider du type de paquet à créer, rappelez-vous toujours que les paquets Python ont des normes auxquelles vous devez vous conformer. Vérifiez ces normes sur https://packaging.python.org/ avant de commencer à écrire votre code.
  • Testez votre package avant de le déployer : les bogues sont courants en programmation. Créez des scripts pour générer des tests automatisés, en particulier lors de la création de packages volumineux. Une telle approche garantit que vous téléchargez des packages sans bogue.
  • Gestion des versions : un package approprié doit suivre la gestion sémantique des versions. Le package que j’ai créé dans notre démonstration avait ces numéros 1.0.0. Le premier bit (1) est la version majeure, le deuxième bit (0) est la version mineure et le dernier bit est Patch.
  • Spécifiez toutes les dépendances : selon vos besoins, vous pouvez avoir diverses dépendances ou d’autres packages dans votre package. Vous devez mentionner toutes les dépendances dans la description de votre package lors du téléchargement. Vous pouvez utiliser des outils tels que setuptools ou poésie pour ajouter et gérer ces dépendances.
  • Utilisez le contrôle de version : la programmation est un processus continu. Vous pouvez continuer à mettre à niveau ou à améliorer votre package pour ajouter de nouvelles fonctionnalités ou le rendre plus efficace. Vous pouvez également inviter des contributeurs. Vous pouvez télécharger votre code de package sur des plateformes telles que GitHub ou GitLab pour rendre votre code accessible et permettre la collaboration.
  • Documentez votre code : le package que nous avons créé était à des fins de démonstration. Cependant, si vous avez l’intention de partager un tel package avec le public ou les membres de l’équipe, vous devez générer une documentation qui guide les utilisateurs. Vous pouvez utiliser des outils comme Pydoc ou Sphinx pour générer vos documents.

Où puis-je télécharger des packages Python ?

Même si Python Package Index (PyPI) est le référentiel officiel des packages Python, cela ne signifie pas que vous n’êtes pas autorisé à l’utiliser. Certains facteurs à prendre en compte pour déterminer où télécharger votre package Python sont la taille des fichiers, la nature du package, le niveau de support requis et votre public cible.

Ce sont d’autres zones où vous pouvez télécharger vos packages Python ;

  • GitHub : GitHub est la plus grande plateforme d’hébergement de code. Vous pouvez créer un référentiel et ajouter votre package Python sous forme de fichier zip pour le redistribuer.
  • Conda : Conda est un gestionnaire de packages que vous pouvez utiliser pour vos packages Python. Cette plateforme est célèbre parmi les data scientists. Créez un compte sur Conda et commencez à télécharger vos packages pour les redistribuer.
  • Miroirs PyPI : Il existe de nombreux miroirs PyPI qui reflètent le contenu de la plate-forme PyPI. Sélectionnez celui qui correspond à vos besoins pour héberger votre package.

Conclusion

Vous avez maintenant les étapes de création de packages Python et de leur publication en ligne. Notre exemple était juste basique, mais vous pouvez jouer et créer des packages complexes. Cependant, créez toujours la bonne structure de dossiers lors de la création de packages Python.