[Python] Reload di (parti di) un modulo in ipython

Alessandro Dentella sandro a e-den.it
Dom 7 Ott 2012 23:31:05 CEST


On Thu, Oct 04, 2012 at 05:43:50PM +0200, enrico franchi wrote:
> 2012/10/3 Pietro Battiston <me a pietrobattiston.it>:
> 
> > tipicamente, quando programmo lo faccio con editor e ipython aperti uno
> > a fianco all'altro, per fare continue prove [ed evitare quasi del tutto
> > di tenermi aperta documentazione].
> 
> Nel caso specifico di ipython:
> 
> 1. dreload fa il "deep-reload"
> 2.
> 
> %load_ext autoreload
> %autoreload 2
> 
> http://ipython.org/ipython-doc/dev/config/extensions/autoreload.html
> 
> Questo dovrebbe fare la cosa giusta con le istanze...

Eccezionale, lo fa in modo perfetto, l'ho verificato. Lo userò sicuramente e
mi sarebbe servito molto in passato.

La spiegazione mi pare un po' "omertosa"...

  Reload all modules (except those excluded by %aimport) every time before
  executing the Python code typed.

ma il reload del modulo NON è suff. di fatto quello che fa è analogo
all'impostazione della classe di cui avete parlato, mi sbaglio? lo dice però
dei caveats più in basso.


Quello che noto però è che questo comportamento funziona solo per oggetti
creati dopo avere lanciato il comando autoreload. Gli oggetti creati
precedentemente vengono lasciati intoccati.

sandro
*:-)

-- 
Sandro Dentella  *:-)
http://www.reteisi.org             Soluzioni libere per le scuole
http://sqlkit.argolinux.org        SQLkit home page - PyGTK/python/sqlalchemy





Maggiori informazioni sulla lista Python