Scopri come creare, distribuire e utilizzare pacchetti in Python con l'aiuto di questa guida.

Immagina l'arduo compito di sviluppare un'applicazione completa confinata in un singolo file Python. Sebbene tecnicamente fattibile, va contro i principi fondamentali della creazione di software efficiente, gestibile e riutilizzabile. Per tali motivi, i pacchetti ei moduli sono essenziali per la creazione e lo sviluppo del software.

Cos'è un pacchetto?

In Python, un pacchetto fornisce un modo per organizzare insieme moduli e risorse logicamente correlati. È una directory che contiene più moduli Python, sottopacchetti e altre risorse.

I pacchetti forniscono una struttura gerarchica, che consente di organizzare il codice del progetto a diversi livelli di astrazione.

Differenza tra pacchetti e moduli

Mentre puoi usare entrambi i pacchetti e moduli per organizzare il codice, ci sono differenze tra loro:

  • Modulo: Un modulo è un file che contiene il codice Python. Definisce funzioni, classi, variabili e altri oggetti che puoi importare e usare nel tuo codice.
  • instagram viewer
  • Pacchetto: Un pacchetto è una raccolta di uno o più moduli e può includere anche sottopacchetti.

Come creare un pacchetto in Python

Per creare un pacchetto segui questi passaggi.

Passaggio 1: creare una directory di progetto

Inizia creando una directory di progetto.

study_bud/

Passaggio 2: creare una directory del pacchetto

All'interno della directory del tuo progetto, crea un'altra directory che fungerà da directory del pacchetto. Dagli un nome significativo che rappresenti lo scopo o la funzionalità del pacchetto. La directory del pacchetto conterrà i moduli e i sottopacchetti relativi al tuo pacchetto.

study_bud/
math_tool/

Passaggio 3: definire il file __init__.py del pacchetto

Nella directory del pacchetto, crea un __init__.py file. La presenza di __init__.py file è ciò che rende la directory un pacchetto in Python.

Se devi inizializzare un codice ogni volta che usi il pacchetto, includilo in __init__.py file altrimenti è sempre vuoto.

study_bud/
math_tool/
__init__.py

Passaggio 4: aggiungere moduli al pacchetto

All'interno della directory del pacchetto, aggiungi i moduli Python (.py) che definiscono funzioni, classi o variabili.

Questi moduli contengono il codice effettivo che fornisce la funzionalità del tuo pacchetto. È possibile creare più moduli all'interno della directory del pacchetto.

study_bud/
math_tool/
__init__.py
operations.py
statistics.py

Passaggio 5: aggiungere sottopacchetti al pacchetto

Se il pacchetto deve avere una struttura gerarchica o contiene funzionalità distinte, è possibile creare sottopacchetti all'interno della directory del pacchetto.

Un sottopacchetto è semplicemente un'altra directory del pacchetto all'interno della directory principale del pacchetto. Ogni sottopacchetto dovrebbe avere il suo __init__.py file. I sottopacchetti consentono un'ulteriore organizzazione e separazione del codice.

study_bud/
math_tool/
__init__.py
operations.py
statistics.py
geometry/
__init__.py
shapes.py
calculus/
__init__.py
integrations.py

In questi passaggi, hai creato un file math_tool pacchetto, aggiunti due moduli (operazioni.py E statistiche.py) e due pacchetti secondari geometria E calcolo ciascuno con i propri moduli.

Seguendo questi passaggi è possibile organizzare facilmente le funzionalità correlate utilizzando un pacchetto e sottopacchetti, semplificando la gestione e il riutilizzo del codice.

Come lavorare con un pacchetto in Python

Per lavorare con un pacchetto è necessario importarlo. IL importare E da le parole chiave ti consentono di importare e utilizzare un pacchetto nel tuo codice.

import math_tool # entire package

È inoltre possibile utilizzare la notazione con punto per importare moduli, pacchetti secondari o proprietà specifiche da un pacchetto. La notazione del punto consente di navigare attraverso la struttura della directory del pacchetto. La notazione a punti rende le tue importazioni più leggibili e più facili da mantenere.

from math_tool.operations import add, multiply # specific functions

Nel codice sopra, hai navigato dalla directory del pacchetto (math_tool) al operazioni modulo utilizzando la notazione punto e importato due funzioni (aggiungere E moltiplicare).

Importazioni assolute vs. Importazioni relative

Con assolutoimportazioni, si specifica il percorso completo dal pacchetto di primo livello (il pacchetto radice) al modulo o sottopacchetto desiderato. Questo è il modo più comune e consigliato per importare moduli e pacchetti in Python.

from math_tool.geometry.shapes import parallelogram

A partire da math_tool andare in geometria sottopacchetto, trova il file forme.py modulo e importare il file parallelogramma funzione.

Mentre parenteimportazioni consentono di effettuare importazioni relative alla posizione del modulo corrente utilizzando la notazione punto per specificare le importazioni relative.

Ad esempio, all'interno del calcolo/integrazioni.py modulo, è possibile utilizzare l'importazione relativa per importare una funzione dal file forme.py modulo nel geometria sottopacchetto.

# calculus/integrations.py
from ..geometry.shapes import rhombus

Il doppio punto ("..") dice a Python di:

  • Inizia dalla directory del sottopacchetto (calcolo) dove il modulo (integrazioni.py) esiste.
  • Vai nel pacchetto genitore (math_tool) directory del sottopacchetto.
  • Trovare il geometria sottopacchetto nella directory padre.
  • Entra nel forme.py modulo e importazione rombo da.

Quindi la notazione del punto rappresenta il numero di directory a cui navigare dalla directory del modulo corrente.

Importazioni alias per comodità

È possibile assegnare un alias a un'importazione semplificandone il riferimento nel codice. Gli alias sono utili quando si ha a che fare con nomi lunghi di pacchetti o moduli.

Per assegnare un alias utilizzare il COME parola chiave.

import math_tool.calculus as cal

Come distribuire il tuo pacchetto in Python

Python ti fornisce strumenti e una piattaforma per creare e distribuire il tuo pacchetto. La distribuzione del tuo pacchetto ti consente di condividere il tuo codice con altri sviluppatori, promuovere la collaborazione, semplificare l'installazione per gli utenti e contribuire alla più ampia comunità Python.

Passaggio 1: crea un account su PyPI

Indice dei pacchetti Python (PyPI) è il repository predefinito per i pacchetti Python. Puoi pubblicare i tuoi pacchetti su PyPI in modo che altri sviluppatori possano trovarli e installarli facilmente.

Assicurati di ricordare il tuo nome utente E parola d'ordine poiché ti serviranno per l'autenticazione quando carichi il tuo pacchetto su PyPI.

Questi strumenti semplificano la configurazione, la creazione e il push di un pacchetto distribuibile in un singolo comando.

pip install build wheel twine

Passaggio 3: creare un file setup.py

Per distribuire il tuo pacchetto, crea un file setup.py nella directory principale del tuo progetto. IL setup.py contiene metadati sul tuo pacchetto, come nome, versione, autore, descrizione, dipendenze e altro.

Gli strumenti di gestione dei pacchetti utilizzeranno l'estensione setup.py file per configurare e creare il tuo pacchetto.

#setup.py
from setuptools import setup, find_packages

setup(
name='',
version='1.0.0',
author='',
description='A collection of mathematical utility functions',
packages=find_packages(),
install_requires=[
'numpy',
'scipy',
],
)

Passaggio 4: crea il pacchetto

Una volta che hai il setup.py pronto, puoi usarlo per costruire un pacchetto distribuibile. Nel tuo terminale o prompt dei comandi, navigare nella directory contenente il setup.py file ed eseguire il seguente comando:

python setup.py sdist bdist_wheel

Questo comando genera un file dist directory contenente un pacchetto di distribuzione sorgente (.tar.gz) e un pacchetto di distribuzione wheel (.whl). Vedrai anche a costruire E informazioni directory.

Passaggio 5: caricare il pacchetto su PyPI

Con il tuo pacchetto pronto, puoi caricarlo su PyPI.

Esegui il seguente comando:

twine upload dist/*
> Uploading distributions to https://upload.pypi.org/legacy/
> Enter your username: **********
> Enter your password: **********

Visita il tuo PyPI pagina di gestione del progetto per vedere il tuo pacchetto.

Ora altri sviluppatori che trovano utile il tuo pacchetto possono installarlo e usarlo localmente.

Come installare un pacchetto Python

I gestori di pacchetti amano pip semplifica l'installazione e la gestione dei pacchetti Python da varie fonti, incluso il Python Package Index (PyPI). Per installare un pacchetto usando pippo, apri il terminale o il prompt dei comandi e utilizza il seguente comando:

pip install 

Per vedere tutti i comandi e le opzioni disponibili per pippo Usa il --aiuto opzione.

Scrivere moduli puliti

I pacchetti contengono moduli e sottopacchetti che a loro volta contengono altri moduli. È una buona pratica modularizzare il codice, soprattutto quando si lavora su progetti più grandi, in quanto promuove una migliore organizzazione e leggibilità del codice. Quindi è importante scrivere i moduli con chiarezza quando si sviluppa con Python.