Vai al contenuto principale

📋 File requirements.txt per Python

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

Attiva l'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à.Attiva il tuo ambiente virtuale con uno dei comandi seguenti, a seconda del tuo sistema:Windows:
venv\Scripts\activate
macOS/Linux:
source venv/bin/activate
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: Creazione manuale (Consigliata)

Crea un file requirements.txt nella radice del tuo progetto ed elenca tutti i pacchetti esterni con le loro versioni:
requirements.txt
discord.py==2.3.0
requests==2.31.0
python-dotenv==1.0.0

Opzione B: Generazione automatica con pip freeze

Dopo aver installato le dipendenze nel tuo ambiente virtuale, puoi generare automaticamente il file. Ci sono due modi principali:Opzione B1: Usa pip freeze (include tutto)
pip freeze > requirements.txt
Attenzione: pip freeze include tutti i pacchetti installati globalmente, che possono includere pacchetti non necessari al tuo progetto. Rivedi il file dopo la generazione e rimuovi le dipendenze non strettamente necessarie.
Opzione B2: Usa pipdeptree o pip freeze con filtro (Consigliata)Per catturare SOLO le dipendenze del tuo progetto (senza i pacchetti ausiliari dell’ambiente), usa:
pip freeze --user > requirements.txt
Oppure, per una soluzione più pulita, installa pipdeptree:
pip install pipdeptree
pipdeptree -p your_project > requirements.txt
Alternativa: Usa un controllo manuale dell’elenco o verifica quale pacchetto è stato installato specificamente per il tuo progetto:
pip list | grep -i "your-package"
Se stai lavorando in un ambiente virtuale (consigliato), pip freeze funzionerà perfettamente poiché l’ambiente sarà isolato e conterrà solo le dipendenze del tuo progetto.
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:
pip install -r requirements.txt
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 tutte le dipendenze vengono installate durante la build.

💡 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 su Square Cloud.
  3. Configura il deploy automatico tramite GitHub.
  4. Benvenuto nell’hosting professionale di applicazioni Python!
Un file requirements.txt ben strutturato è la base per qualsiasi applicazione Python di successo, garantendo che la tua applicazione funzioni perfettamente su Square Cloud.