Python setuptools: come funziona

di Lorenzo Neri

Come funziona in Python il pacchetto setuptools? È quello che scopriremo assieme all’interno di questo articolo!

Setuptools è un pacchetto Python con diverse feature, mantenuto ed aggiornato costantemente: per che cosa? Per facilitare il packaging dei tuoi progetti in Python.

In un altro articolo, dove abbiamo scoperto come creare un package Python, setuptools è essenziale per poterne creare uno ex novo, ma non solo: ci facilita notevolmente la vita durante il processo.

In particolar modo, ci aiuta a gestire le dipendenze necessarie da altri pacchetti per un corretto funzionamento del tutto.

Chiarito ciò, è giusto vedere come procedere per il suo utilizzo.

Ciao mi chiamo Lorenzo Neri e sono un informatico: realizzo contenuti per aiutare le persone a padroneggiare l’arte del nuovo millennio, ovvero l’informatica!

Installazione

Per usare setuptools è necessario installarlo attraverso pip:

pip install --upgrade setuptools

Così facendo, installeremo l’ultima versione disponibile.

Utilizzo di setuptools

Per utilizzarlo correttamente e al massimo del suo potenziale, setuptools richiede un file all’interno del tuo progetto.

Sì, stiamo parlando di un file nominato “pyproject.toml”: non ti spaventare per il tecnichese!

Il file “pyproject.toml”

Questo file, detto in termini molto diretti, si occupa di specificare che vogliamo usare setuptools per eseguire il package del nostro progetto.

Questo file tra l’altro, necessita di informazioni obbligatorie nelle prime righe. Quali? Le seguenti:

[build-system]
requires = ["setuptools", "wheel"]
build-backend = "setuptools.build_meta"

Abbiamo finito? Ovviamente no: abbiamo bisogno di un altro file.

Il file “setup.cfg”

Questo file racchiude diverse informazioni.

Per “informazioni” intendo dipendenze necessarie al suo corretto funzionamento, la versione python minima, così come altri dati.

Raccoglie tutte le informazioni necessarie all’installazione del package che stai costruendo.accoglie tutte le informazioni necessarie all’installazione del package che stai costruendo.

Facciamo un esempio:

[metadata]
name = ilMioPacchetto
version = 0.0.1
[options]
packages = ilMioPacchetto
install_requires =
  requests
  importlib; python_version == "3.7"

Se ti ricordi la struttura a livello di file e cartelle come abbiamo visto nell’articolo relativo alla creazione di un pacchetto, dovresti trovarti in una situazione come questa:

package_esempio
 |________ pyproject.toml
 |________ setup.cfg
 |________ LICENSE
 |________ README.md
 |________ nome_pacchetto
              |________ __init__.py
 |________ setup.py
 |________ tests

Tuttavia, per utilizzare al 100% setuptools in Python, dobbiamo ultimare il tutto.

Usare un installer per il nostro pacchetto

Chiarito come funziona setuptools nella sua basilarità, prima di procedere ti invito a scoprire altri dettagli veramente interessanti sulla guida ufficiale e ad eseguire le magie di un installer per distribuire il tuo pacchetto.

Cosa voglio dire?

Tramite un installer, puoi andare a generare i file “tar.gz” e “whl” per pubblicare il tuo pacchetto su PyPI.

Un installer molto comodo, potrebbe essere pep517 che puoi installare come segue:

pip install pep517

Infine, per poterlo utilizzare, ti è sufficiente lanciare il seguente comando all’interno della cartella del tuo package:

python -m pep517.build .

Continua a scoprire di più con questi articoli!

Lascia un commento

Questo sito potrebbe fare uso di cookie e siccome l'UE mi obbliga a fartelo presente, eccoti il classico banner dove puoi decidere come gestirli. Accetta Leggi di più