clean_cache.bat

Deve essere lanciato dalla cartella principale (“root”) del progetto.
Quindi da D:\01_DevOps\fire\fireDev_12.
Lo script scansiona ricorsivamente (/r .) a partire dalla cartella corrente (.) ed elimina tutte le pycache. È perfetto per risolvere il problema

Transclude of clean_cache.bat

Deve essere lanciato dalla cartella principale (“root”) del progetto.
Quindi da D:\01_DevOps\fire\fireDev_12.
Lo script scansiona ricorsivamente (/r .) a partire dalla cartella corrente (.) ed elimina tutte le pycache. È perfetto per risolvere il problema

1. Scopo e Contesto d’Uso

Python, per ottimizzare l’avvio, compila i file .py in bytecode (.pyc) e li salva nelle cartelle __pycache__. Tuttavia, in fase di sviluppo rapido o refactoring profondo (spostamento di file, rinomina di classi), il meccanismo di invalidazione della cache di Python può fallire.

Questo porta a situazioni paradossali (“Codice Fantasma”) in cui l’applicazione continua ad eseguire una vecchia versione del codice nonostante il file sorgente sia stato aggiornato.

clean_cache.bat è l’arma risolutiva (“Nuclear Option”) per questi casi: elimina fisicamente tutte le cartelle di cache, costringendo Python a ricompilare tutto da zero al prossimo avvio.

2. Funzionalità Principali

Lo script è un file batch Windows (.bat) che utilizza comandi nativi per garantire velocità e indipendenza dall’interprete Python (che potrebbe essere rotto).

  • Scansione Ricorsiva: Utilizza for /d /r . per attraversare l’intero albero delle directory a partire dalla posizione corrente.
  • Targeting Mirato: Cerca esclusivamente le cartelle denominate __pycache__.
  • Eliminazione Forzata: Usa rd /s /q (Remove Directory, Subtree, Quiet) per eliminare le cartelle e il loro contenuto senza chiedere conferma per ogni file.

3. Workflow Operativo

Prerequisito

Assicurarsi che l’applicazione FIRE e qualsiasi processo Python correlato siano chiusi. Windows non permette di eliminare file in uso.

Esecuzione

  1. Posizionarsi nella cartella root del progetto (D:\...\fireDev_12\).
  2. Fare doppio click su clean_cache.bat.
  3. Una finestra di terminale mostrerà l’elenco delle cartelle eliminate.
  4. Premere un tasto per chiudere.

Quando Usarlo

  • Dopo un Refactoring: Se si spostano file o si rinominano moduli.
  • Comportamenti “Impossibili”: Se i log o il comportamento dell’app non riflettono le ultime modifiche al codice (es. vecchie label UI ancora visibili).
  • Prima di una Build: Prima di lanciare build_portable.py per garantire un pacchetto pulito.

4. Riferimenti