[Python] Reload di (parti di) un modulo in ipython
Daniele Varrazzo
piro a develer.com
Mer 3 Ott 2012 13:24:09 CEST
On 2012-10-03 11:57, Pietro Battiston wrote:
> Ci ho provato in un po' di modi (es. dopo il reload
> istanza.__class__.metodo = mio_modulo.Classe.metodo ), ed ho ottenuto
> un
> po' di cose comiche tipo:
>
> "TypeError: unbound method visita_art() must be called with Visiter
> instance as first argument (got Visiter instance instead)"
Questo funziona:
istanza.__class__ = mio_modulo.Classe
Lo uso per fare il reload live del codice in un server web con uno
stato enorme e che in certi momenti non puņ permettersi di perdere i
secondi necessari a riavviarsi.
Ovviamente non funziona con tutto, per esempio se col nuovo codice
cambia lo stato delle istanze. Ma quando č solo il codice a cambiare,
funziona come si deve.
--
Daniele Varrazzo - Develer S.r.l.
http://www.develer.com
Maggiori informazioni sulla lista
Python