Comment publier des packages Python sur PyPI à l’aide de Poetry sur Ubuntu 22.04
Introduction
PyPI (Python Package Index) est le référentiel officiel de packages Python. Il permet aux développeurs de partager et de réutiliser du code, favorisant ainsi la collaboration et la productivité. Poetry est un outil de gestion de paquets Python qui facilite le développement, la publication et la maintenance des packages Python. Ce tutoriel vous guidera étape par étape dans le processus de publication de packages Python sur PyPI à l’aide de Poetry sur Ubuntu 22.04.
Prérequis
* Ubuntu 22.04 installé et mis à jour
* Python 3.8 ou supérieur installé
* Poetry installé (instructions d’installation : https://python-poetry.org/docs/#installation)
H2. Création d’un nouveau projet Poetry
1. Créez un nouveau répertoire de projet :
mkdir my_package
cd my_package
2. Initialisez un nouveau projet Poetry :
poetry init
3. Configurez le projet Poetry :
poetry config repositories.pypi https://upload.pypi.org/legacy/
poetry config repositories.testpypi https://test.pypi.org/legacy/
H2. Développement du package Python
1. Créez un fichier __init__.py
dans le répertoire my_package
pour indiquer que le répertoire est un package Python.
2. Développez le code de votre package dans le fichier my_package/__init__.py
. Par exemple :python
def hello_world():
print("Hello world!")
H3. Création du fichier setup.py
Poppy génère automatiquement un fichier setup.py
basé sur le fichier pyproject.toml
. Cependant, vous pouvez le modifier manuellement pour inclure des informations supplémentaires ou personnaliser les paramètres de publication.
H4. Spécification des métadonnées du package
Dans le fichier setup.py
, spécifiez les métadonnées du package, notamment le nom, la version, la description, l’auteur et l’URL du projet. Par exemple :python
from setuptools import setup
setup(
name='my_package',
version='1.0.0',
description='Un exemple de package Python',
author='John Doe',
author_email='john.doe@example.com',
url='https://example.com/my-package',
packages=['my_package'],
entry_points={
'console_scripts': [
'my_script=my_package:main',
],
},
)
H5. Publication du package sur PyPI
1. Assurez-vous que votre package est testé et prêt à être publié.
2. Créez une distribution de package :
poetry build
3. Téléchargez la distribution sur PyPI :
poetry publish
4. Saisissez vos informations d’authentification PyPI lorsque vous y êtes invité.
H2. Publication du package sur Test PyPI
Test PyPI est un environnement sandbox pour tester les packages avant de les publier sur PyPI. Vous pouvez l’utiliser pour vérifier que votre package fonctionne comme prévu avant de le publier sur PyPI.
1. Configurez le référentiel Test PyPI dans Poetry :
poetry config repositories.testpypi https://test.pypi.org/legacy/
2. Publiez votre package sur Test PyPI :
poetry publish -r testpypi
3. Testez votre package sur Test PyPI. Installez le package Test PyPI :
pip install --index-url https://test.pypi.org/simple/ my_package
4. Exécutez les tests sur le package installé.
Conclusion
Ce tutoriel vous a guidé dans le processus de publication de packages Python sur PyPI à l’aide de Poetry sur Ubuntu 22.04. En suivant ces étapes, vous pouvez publier votre code, le partager avec d’autres développeurs et contribuer à l’écosystème Python. Poetry simplifie le processus de développement, de publication et de maintenance des packages Python, vous permettant de vous concentrer sur l’écriture de code de qualité.
FAQs
1. Pourquoi utiliser Poetry pour publier des packages Python sur PyPI ?
– Poetry simplifie la gestion des dépendances, automatise la création de fichiers de configuration et offre une interface conviviale.
2. Est-il possible de publier des packages Python sur PyPI sans utiliser Poetry ?
– Oui, mais le processus est plus manuel et nécessite une connaissance approfondie de la structure du package Python.
3. Quels sont les avantages de publier des packages Python sur Test PyPI ?
– Test PyPI permet de tester les packages avant de les publier sur PyPI, réduisant ainsi le risque de problèmes inattendus.
4. Comment gérer les dépendances dans un fichier setup.py ?
– Utilisez la fonction install_requires
pour spécifier les dépendances requises par votre package.
5. Comment puis-je automatiser la publication de packages Python sur PyPI ?
– Utilisez des outils CI/CD tels que GitHub Actions ou Travis CI pour automatiser le processus de construction, de test et de publication.
6. Où puis-je trouver de l’aide supplémentaire sur la publication de packages Python sur PyPI ?
– Consultez la documentation de Poetry (https://python-poetry.org/docs/) et le site officiel de PyPI (https://pypi.org/).
7. Comment mettre à jour un package Python publié sur PyPI ?
– Incrémentez la version du package dans le fichier pyproject.toml
et republiez le package à l’aide de Poetry.
8. Quelles sont les bonnes pratiques pour la publication de packages Python sur PyPI ?
– Utilisez un nom de package unique, écrivez une description claire et informative, testez soigneusement votre package et suivez les normes de style de codage PEP 8.