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 .