On Oct 8, 2:12 pm, Dave Angel <da...@ieee.org> wrote: > bsneddon wrote: > > I saw an issue on winXP box not connected to internet yesterday, > > where i was running > > a script in the interactive window on PythonWin . I would modify the > > script save and > > import and was still running the old version. I did that several > > times with same result. > > I even renamed the function and it showed up but ran the old script. > > Very strange. > > <snip> > > Caching (not cashing) doesn't come into play here. Objects are kept as > long as there is a reference to them somewhere. So renamed functions > can still exist under their old name, since nobody has reused the name > for something newer. > > I'm not familiar with PythonWin. But if it's like the standard python > interpreter, where you use import at the command line to load a module, > then I can comment on it. > > Doing a second import on the same module will not look at the disk file > at all. To get it to re-read the source code, you need reload(). And > reload() doesn't really do everything you'd expect. In some cases it > cannot (for example, references to external DLL's). So there are > frequently remnants of the earlier version of things lying around. > > If this is really an interpreter environment, I'd exit the environment > and start it again. If it's more like a GUI (like Komodo, which I > use), then the gui will kill the old interpreter and start another one > when you say "exit" and "run". Then you have nothing left of the old > version of the module, and can start from scratch. > > As Simon said, you should read about reload(), and its caveats: > http://docs.python.org/library/functions.html#reload > > DaveA
Thanks I have looked at reload now. It seem pythonWin tries to use reload when doing an import. I think I need to do a little more reading on PythonWin. Bill -- http://mail.python.org/mailman/listinfo/python-list