how to re-import changed code?
newsgroups at jhrothjr.com
Sat Oct 16 03:06:15 CEST 2004
"Jeff Shannon" <jeff at ccvcorp.com> wrote in message
news:10n0banri5f2bda at corp.supernews.com...
> Wolfgang.Stoecher at profactor.at wrote:
>>another beginner's question:
>>when I import a module, change the corresponding textfile and try to
>>import the same module again, it looks like the internal code does not
>>change (the source-line in an error-message is up to date, however!). Also
>>del module before import and deleting the .pyc file do not help! How to
>>realize a fast edit-try-cycle? (btw: I am using python 2.2 under windows)
> What you're looking for is the reload() function.
> Normally, an imported module is cached by the interpreter, and subsequent
> imports go straight to the cache without checking whether the file has
> changed or not. If you reload(), that specifically clears the cache and
> imports from the (current) disk file again.
That works, but with a very important caveat: reload() does not
change anything in the module that's currently being referred to.
This can lead to very subtle bugs, and all IDE/debugger combinations
don't handle it properly.
What I do is keep a command line open under Windows, and
I create a .cmd file with a very short name. It takes about three
keystrokes to run the test (alt-tab, t, return), and one keystroke
to get back to the IDE (alt-tab). This reloads my unit test suite
and runs it.
> Jeff Shannon
> Credit International
More information about the Python-list