Skip to main content
Il file requirements.txt è lo standard di settore per specificare e gestire le dipendenze nei progetti Python. Questa guida mostra come creare, configurare e usare requirements.txt per garantire coerenza tra gli ambienti di sviluppo e di produzione.

Che cos’è un file requirements.txt?

Un file requirements.txt elenca tutti i pacchetti Python esterni di cui il tuo progetto ha bisogno, con le loro versioni specifiche. Questo permette:
  • A te e al tuo team di mantenere ambienti identici
  • Ai nuovi collaboratori di riprodurre esattamente l’ambiente
  • Al deploy su Square Cloud di funzionare con le dipendenze corrette

1

Crea e attiva un ambiente virtuale

Lavorare all’interno di un ambiente virtuale è essenziale per mantenere le dipendenze del tuo progetto isolate dal sistema Python globale. Questo evita conflitti di versione e garantisce la riproducibilità.Crea l’ambiente virtuale nella radice del tuo progetto (usa python3 se python non viene trovato su macOS/Linux):
Attivalo con uno dei comandi seguenti, a seconda del tuo sistema:Windows:
macOS/Linux:
Poi installa i pacchetti che il tuo progetto usa, ad esempio:
2

Elenca le dipendenze del progetto

Specifica sempre versioni esatte con == per garantire la riproducibilità e prevenire malfunzionamenti dovuti ad aggiornamenti incompatibili in produzione.

Opzione A: Genera con pip freeze (Consigliata)

Con l’ambiente virtuale attivo, scrivi nel file ogni pacchetto installato con la sua versione esatta:
All’interno di un ambiente virtuale, pip freeze elenca solo i pacchetti installati in esso (le tue dipendenze e le loro sotto-dipendenze), già fissati con ==.
Al di fuori di un ambiente virtuale, pip freeze elenca tutti i pacchetti installati sul tuo sistema. Rivedi il file e rimuovi ciò che il tuo progetto non usa.

Opzione B: Creazione manuale

Crea un file requirements.txt nella radice del tuo progetto ed elenca i pacchetti che il tuo progetto usa, con le loro versioni:
requirements.txt
3

Rivedi e valida le dipendenze

Apri il file requirements.txt nel tuo editor di testo e:
  1. Rivedi l’elenco dei pacchetti
  2. Rimuovi le dipendenze non necessarie
  3. Aggiorna le versioni se necessario
  4. Assicurati di usare versioni esatte (con ==)
4

Installa le dipendenze

Per installare tutte le dipendenze elencate:
Questo comando garantisce che tutti i collaboratori e gli ambienti di produzione usino esattamente le stesse versioni.
5

Versiona e condividi

Con requirements.txt pronto, puoi:
  • Condividerlo con il tuo team
  • Metterlo sotto controllo di versione (git)
  • Assicurarti che tutti lavorino con le stesse versioni
  • Semplificare il deploy su Square Cloud
Quando ospiti il tuo progetto su Square Cloud, il file requirements.txt viene rilevato automaticamente e le sue dipendenze vengono installate con pip install -r requirements.txt prima dell’avvio della tua app.

Buone pratiche e consigli

  • Mantieni aggiornato: Rivedi e aggiorna regolarmente requirements.txt man mano che aggiungi nuove dipendenze
  • Usa versioni esatte: Usa sempre == invece di >, >= o nessuna versione per evitare sorprese in produzione
  • Rivedi pip freeze: Se usi pip freeze, rivedi il file prima del commit, poiché potrebbe includere pacchetti ausiliari non necessari
  • Versionamento: Effettua il commit di requirements.txt su git per tracciare le modifiche alle dipendenze
  • Ambiente isolato: Mantieni un ambiente virtuale per progetto per evitare conflitti globali
  • Prova in locale: Prima del deploy, testa il file con pip install -r requirements.txt in un nuovo ambiente

Prossimi passi

Con il tuo file requirements.txt configurato:
  1. Effettua il commit sul tuo repository Git.
  2. Ospita il tuo progetto con la guida al runtime Python, oppure segui una guida a un framework: Django, Flask o FastAPI.
  3. Fai il deploy automatico da GitHub a ogni push.