Why my modification of source file doesn't take effect when debugging?

Christophe chris.cavalaria at free.fr
Mon Dec 5 11:09:30 EST 2005


Dave Hansen a écrit :
> On Fri, 02 Dec 2005 18:04:15 +0100 in comp.lang.python, Christophe
> <chris.cavalaria at free.fr> wrote:
> 
> 
>>infidel a écrit :
>>
>>>>I'm using the Windows version of Python and IDLE. When I debug my .py
>>>>file, my modification to the .py file does not seem to take effect
>>>>unless I restart IDLE. Saving the file and re-importing it doesn't help
>>>>either. Where's the problem?
>>>
>>>
>>>"import" only reads the file the first time it's called.  Every import
>>>call after that looks up the module in memory.  This is to prevent
>>>circular dependencies between modules from creating infinite loops.
>>>You need to use the reload() function:
>>
>>As a matter of fact, it would help a lot if that stupid behaviour of 
>>Idle was dropped. I'm sure I'm not the only one who lost lots of time 
>>because of that bug. Yes I call it a bug.
> 
> 
> But, if you are editing a Python Module in Idle, and press F5 to run
> the module, the interpreter is restarted for you.  So what's the
> problem?
> 
> I would consider it a far greater problem if Idle _didn't_ do that --
> it could mean you module worked when you were debuggining it because
> of some initialization that doesn't get performed in a clean start.
> 
> Regards,
>                                         -=Dave
> 

Well, I'm happy to see that Idle now restarts the interpreter by default 
when you press F5. I guess I might consider using it again after all 
that time :)



More information about the Python-list mailing list