1. A propos de PyPI
PyPI (Python Package Index) est un référentiel de progiciels pour le langage de programmation Python. Son objectif principal consiste à fournir une plate-forme inestimable permettant aux développeurs de distribuer de manière transparente leurs bibliothèques Python à la communauté au sens large. Ce tutoriel vous guidera à travers les étapes nécessaire à mettre votre bibliothèque en ligne et accessible sur PyPI. De la préparation de votre bibliothèque et de l'enregistrement d'un compte aux tests, en passant par la création de packages de distribution et leur téléchargement, nous couvrirons chaque aspect du processus de déploiement. Vous pouvez partager votre bibliothèque Python avec d'autres membres de la communauté des développeurs via PyPI.
2. Préparer votre projet
2.1 Structure de base du projet
Organisez votre projet de manière structurée. Voici un exemple de structure:
2.2 Fichier setup.py
Créez un fichier setup.py pour décrire votre projet et ses dépendances. Nous pouvons vous offrir un exemple simple:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
from setuptools import setup, find_packages setup( name="myproject", version="0.1.0", packages=find_packages(), install_requires=[ # Liste des dépendances ], author="Votre Nom", author_email="votre.email@example.com", description="Une brève description de votre projet", long_description=open('README.md').read(), long_description_content_type='text/markdown', url="https://github.com/votre_nom/myproject", classifiers=[ "Programming Language :: Python :: 3", "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", ], python_requires='>=3.6', ) |
2.3 Fichier README.md
Incluez un fichier README.md pour décrire clairement le mécanisme de fonctionnement de votre projet Python.
2.4 Fichier LICENSE
Il ne faut omettre l'importance du fichier licence qui précise les droits d'usage et d'intégration au sein des projets! Ajoutez donc un fichier de licence avec des droits d'usages bien détaillé de votre code.
3. Créer des distributions
3.1 Installer les outils nécessaires : setuptools et wheel
- Setuptools : Bibliothèque Python nécessaire à la gestion et la création de la distribution et des packages Python, de gérer aussi les dépendances, et d'automatiser l'opération de packaging via le fichier setup.py.
- Wheel: Assure un format de distribution binaire pour les biliothèque Python, permettant ainsi une installations fiable et rapide via des packages précompilés. Les fichiers .whl sont compatibles avec pip.
1 |
pip install setuptools wheel |
3.2 Créer les distributions source et binaire
Pour créer les distributions, il suffit d'exécuter la commande suivante à la racine de votre projet:
1 2 |
python setup.py sdist bdist_wheel # Cela créera deux fichiers dans le répertoire dist/. |
4. Créez un compte sur PyPI
Lancer le processus de déploiement de (Validation d’adresse) sur PyPI nécessite la création d’un compte sur la plateforme. A cet effet visitez l'adresse: https://pypi.org/ et cliquez sur le lien S'inscrire. Vous serez invité à remplir les informations indiquées et à vérifier votre adresse e-mail pour activer votre compte.
5. Publier votre projet sur PyPI
5.1 Installez Twine
- Installer twine : Twine est l'outil recommandé pour télécharger des paquets sur PyPI.
1 |
pip install twine |
5.2 Télécharger les fichiers sur PyPI
Utilisez twine pour télécharger les fichiers de votre projet de bibliothèque sur PyPI:
1 |
twine upload dist/* |
Vous serez invité à entrer
- Votre nom d'utilisateur
- votre mot de passe PyPI.
6. Vérifier l'installation
Une fois que votre paquet est publié, vous pouvez le tester en l'installant depuis PyPI:
1 |
pip install myproject |
7. Conclusion
Le déploiement de votre bibliothèque Python sur PyPI ouvre un monde de possibilités de collaboration et de partage au sein de la communauté des développeurs Python. Dans ce tutoriel, nous vous avons fourni les étapes nécessaires pour mettre en ligne votre bibliothèque Python avec index des packages Python afin de rendre votre bibliothèque utile et accessible à la communauté des développeurs Python.
Younes Derfoufi
CRMEF OUJDA