ricarico caldo / scambio con Python [duplicato]
Domanda
Questa domanda ha già una risposta qui:
Voglio modifiche al codice abbia effetto immediato durante lo sviluppo. Come posso rilevare cambiato i file e ricaricare loro nella (2.7) applicazione Python in esecuzione?
Modifica:
Dopo aver letto le pagine collegate da 'Ivo van der Wijk', penso che sarebbe meglio per riavviare l'applicazione web quando cambia il codice - come Django fa. Quindi la domanda reale è:? Come monitorare le modifiche dei file
Altri suggerimenti
Questo non ha senso per la maggior parte delle applicazioni, perché otterrete effetti collaterali utilizzando reload
. Più il tempo impiegato per il codice che rileva le modifiche e ricarica tutti i moduli avrebbero potuto essere spesi solo riavviare l'applicazione. E 'molto complicato se importare un sacco di moduli o di avere un progetto che contiene molti sotto-moduli.
In alcuni casi, è una buona idea, però. Il framework web Django fornisce un server di sviluppo (manage.py runserver
) che ricarica automaticamente i moduli cambiati. Date un'occhiata al django.utils.autoreload
- mette alla prova tutti i file Python per le modifiche utilizzando la data di modifica dei file. Come detto prima, questa è solo una buona idea per alcune applicazioni. Le applicazioni Web sono un po 'apolidi e, quindi, possono essere ricaricati con pochi o nessun effetto collaterale.