[chimera-dev] [Chimera-users] Programmer's Guide feedback....
Eric Pettersen
pett at cgl.ucsf.edu
Tue Dec 15 11:24:28 PST 2009
Hi Tom,
This is actually a separate instance of basically the same behavior.
At Chimera startup the extension manager loads (and unloads) all the
ChimeraExtension.py files. I guess we could also discuss if this
behavior is critical to the extension manager and whether it's
desirable to change it.
--Eric
On Dec 15, 2009, at 11:10 AM, Tom Goddard wrote:
> 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
>>
>
> _______________________________________________
> 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/fec4db1a/attachment.html>
More information about the Chimera-dev
mailing list