Les bases du partage de code Python

PythonPythonBeginner
Pratiquer maintenant

This tutorial is from open-source community. Access the source code

💡 Ce tutoriel est traduit par l'IA à partir de la version anglaise. Pour voir la version originale, vous pouvez cliquer ici

Introduction

À un moment donné, vous souhaiterez peut-être donner votre code à quelqu'un d'autre, peut-être simplement à un collègue de travail. Cette section présente la technique la plus basique pour le faire. Pour plus d'informations détaillées, vous devrez consulter le Python Packaging User Guide.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL python(("Python")) -.-> python/ObjectOrientedProgrammingGroup(["Object-Oriented Programming"]) python(("Python")) -.-> python/AdvancedTopicsGroup(["Advanced Topics"]) python(("Python")) -.-> python/BasicConceptsGroup(["Basic Concepts"]) python(("Python")) -.-> python/DataStructuresGroup(["Data Structures"]) python(("Python")) -.-> python/ModulesandPackagesGroup(["Modules and Packages"]) python/BasicConceptsGroup -.-> python/comments("Comments") python/DataStructuresGroup -.-> python/tuples("Tuples") python/ModulesandPackagesGroup -.-> python/importing_modules("Importing Modules") python/ModulesandPackagesGroup -.-> python/standard_libraries("Common Standard Libraries") python/ObjectOrientedProgrammingGroup -.-> python/constructor("Constructor") python/AdvancedTopicsGroup -.-> python/decorators("Decorators") subgraph Lab Skills python/comments -.-> lab-132740{{"Les bases du partage de code Python"}} python/tuples -.-> lab-132740{{"Les bases du partage de code Python"}} python/importing_modules -.-> lab-132740{{"Les bases du partage de code Python"}} python/standard_libraries -.-> lab-132740{{"Les bases du partage de code Python"}} python/constructor -.-> lab-132740{{"Les bases du partage de code Python"}} python/decorators -.-> lab-132740{{"Les bases du partage de code Python"}} end

Création d'un fichier setup.py

Ajoutez un fichier setup.py dans le répertoire /home/labex/project au niveau supérieur de votre répertoire de projet.

## setup.py
import setuptools

setuptools.setup(
    name="porty",
    version="0.0.1",
    author="Votre nom",
    author_email="[email protected]",
    description="Code Python pratique",
    packages=setuptools.find_packages(),
)

Création de MANIFEST.in

Si votre projet est associé à d'autres fichiers, spécifiez-les avec un fichier MANIFEST.in. Par exemple :

## MANIFEST.in
include *.csv

Placez le fichier MANIFEST.in dans le même répertoire que setup.py.

Création d'une distribution source

Pour créer une distribution de votre code, utilisez le fichier setup.py. Par exemple :

$ python setup.py sdist

Cela créera un fichier .tar.gz ou .zip dans le répertoire dist/. Ce fichier est maintenant quelque chose que vous pouvez distribuer aux autres.

Installation de votre code

Les autres peuvent installer votre code Python en utilisant pip de la même manière qu'ils le font pour d'autres packages. Ils ont simplement besoin de fournir le fichier créé dans l'étape précédente. Par exemple :

$ python -m pip install porty-0.0.1.tar.gz

Commentaire

Les étapes ci-dessus décrivent les bases absolument minimales de la création d'un package de code Python que vous pouvez donner à une autre personne. En réalité, cela peut être beaucoup plus compliqué selon les dépendances tierces, si votre application inclut du code étranger (c'est-à-dire C/C++), etc. Traiter de cela est en dehors de la portée de ce cours. Nous avons seulement fait un tout petit premier pas.

Exercice 9.5 : Créer un package

Prenez le code porty-app/ que vous avez créé pour l'exercice 9.3 et voyez si vous pouvez recréer les étapes décrites ici. Plus précisément, ajoutez un fichier setup.py et un fichier MANIFEST.in au répertoire de niveau supérieur. Créez un fichier de distribution source en exécutant python setup.py sdist.

En tant que dernière étape, voyez si vous pouvez installer votre package dans un environnement virtuel Python.

✨ Vérifier la solution et pratiquer

Sommaire

Félicitations ! Vous avez terminé le laboratoire sur la distribution. Vous pouvez pratiquer d'autres laboratoires sur LabEx pour améliorer vos compétences.