[chimera-dev] [Chimera-users] Programmer's Guide feedback....

Tom Goddard goddard at cgl.ucsf.edu
Tue Dec 15 11:10:30 PST 2009


Hi Eric,

  The case I have been burned by many times is where all globals of 
ChimeraExtension.py are deleted.  In both the ChimeraExtension.py case 
and opening a *.py file with File / Open the trouble is that if the 
Python code registers a callback and the callback function tries to use 
a name in the global name space like calling another function defined in 
the same file or a global import then it fails.  This is extremely 
confusing when it happens.

    Tom


-------- Original Message --------
Subject: Re: [chimera-dev] [Chimera-users] Programmer's Guide feedback....
From: Eric Pettersen
To: chimera-dev
Date: 12/15/09 10:55 AM
> On Dec 15, 2009, at 9:36 AM, Tom Goddard wrote:
>
>>   4. The ToolbarButton.py doesn't work unless the "import re" and 
>> "import chimera" are in the function body.  This is because Chimera 
>> deletes all globals after loading a file.  This has often been a 
>> headache for me and Chimera should not delete globals.
>
> This is a behavior of Python.  We load scripts into their own 
> temporary module to avoid pollution of the Chimera main namespace 
> (/e.g./ if the script defined globals named "id" or "sum" or "type" 
> they would override built-in functions of the same name for all future 
> script executions!).  When Chimera unloads the temporary module, 
> Python nulls out it's global namespace (to give garbage collection a 
> shot at working).
>
> Now perhaps Chimera shouldn't unload the module.  I think this would 
> be a reasonable change.  Perhaps it could be discussed at our next 
> internal Chimera developers' meeting to ensure that I'm not forgetting 
> any other ramifications that the change might have.
>
> --Eric
>
>                         Eric Pettersen
>                         UCSF Computer Graphics Lab
>                         http://www.cgl.ucsf.edu
>
>
> ------------------------------------------------------------------------
>
> _______________________________________________
> Chimera-dev mailing list
> Chimera-dev at cgl.ucsf.edu
> http://www.cgl.ucsf.edu/mailman/listinfo/chimera-dev
>   

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://plato.cgl.ucsf.edu/pipermail/chimera-dev/attachments/20091215/b9b6301b/attachment.html>


More information about the Chimera-dev mailing list