Re: [Gtk-osx-users] Debugging PyGTK bundles.



On 2011-05-19 16:48, John Ralls wrote:
>
> On May 19, 2011, at 4:37 AM, Dwayne Bailey wrote:
>
>> Hi,
>>
>> Good news.  My app mostly launches on 10.6 and 10.5.  On my machine 10.6
>> machine it runs quite well.  But the bundle on a 10.5 machine and on
>> someone else's 10.6 machine starts but then repeatably gives me the
>> spinning pizza after a few actions.
>>
>> I get no tracebacks related to the hang so I was wondering how people on
>> this list try to debug their bundled PyGTK apps.  I've used -v when
>> launching which helped me trace some issues.  I haven't tried to use pdb.
>>
>> How do you do it? Help much appreciated.
> You didn't say which Gramps launcher you used. The latest version passes control to a short python preamble that sets things up then passses control to Gramps by importing gramps.py on the last line. Instead of using $PYTHONPATH it sets up sys.path in the preamble. (The motivation was to get better control of language settings.) It did take a couple of tries to notice that I needed to set $PYTHONHOME to force it to use the python libraries in the bundle. I think that that wasn't so much of a problem before because the Apple-provided python libraries worked well enough, but with 2.7 in the bundle they don't. The need for lib/python2.7/config/ and include/python2.7 is a new requirement for 2.7 (2.6 and before didn't require it). It's in the Gramps bundle file but I haven't yet copied it to the examples in ige-mac-bundler.
I used the one from gtk-osx source checkout.  At the moment I'm using a 
combination of the pygtk-demo and the gramps.py python launcher you mention.

So seems like I've discovered the long way that PYTHONHOME and those 
includes are needed, thanks for confirming.  I could just go back to the 
new gramps files as long as I set PYTHONHOME. I'll try that later.
> What do you mean that your "python still has references to ~/gtk/inst"? Do you see rpaths with otool -L?
I see them is I simply edit the file in vim.  They are not present in an 
otool -L listing.
> As for debugging, try http://docs.python.org/library/pdb.html. I haven't experimented with it much, but at first glance it looks like adding "-m pdb" in the exec line of the launcher script is the easiest.
Thanks.  Turns out my problems were caused by bad threading 
implementation which when fixed made the problem go away.

-- 
regards
Dwayne





[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]