[Zope3-dev] Re: System python for *development*? (Was: 3.3.0 tag broken by zc.catalog eggs?)

Martijn Faassen faassen at startifact.com
Tue May 22 09:20:36 EDT 2007


Marius Gedminas wrote:
[snip the problems with system pythons]
> seem to be minor inconveniences rather than show-stoppers to me.  I'd
> love to hear real horror stories.

Not sure whether this counts as a horror story, but...

Recently I upgraded my desktop to Ubuntu Feisty.

So I was running this buildout generated Python script. It had an 
ImportError in it. I saw the traceback for the ImportError, but it was 
suspiciously long and contained a lot of code I didn't recognize. 
Something called "Apport". It was intercepting my uncaught exceptions.

I looked at the traceback and saw it was trying some code, under Python 
2.4, that only worked on Python 2.5. The 'any' function, I believe.

The idea of Apport, as I understand, is to do a visual popup when an 
error occurs in an application, and give the option to send a mail to 
Ubuntu.

It turns out whenever you run a python script which has the executable 
flag set (starting it with "python myscript.py" or "./myscript.py" 
doesn't matter), and an uncaught exception occurs, Apport kicks in. 
Buildout sets its 'bin' scripts to executable.

Apport is quite a bit of code, and it was also clear it had never been 
tested properly with Python 2.4. I found out in launchpad this was 
actually one of *two* 2.4 compatibility bugs in Apport.

I don't like a lot of code running whenever I get exception in a library 
I have nothing to do with. Additionally, my level of trust in this code 
isn't high after discovering it had such basic problems. I have put a 
bug report for Ubuntu suggesting the hook at least doesn't kick in (or 
only minimally kicks in) when the script in question isn't in some 
system directory, but I haven't received a response on this yet.

I was rather annoyed at the whole situation. I switched to a 
hand-compiled python right away.

Regards,

Martijn



More information about the Zope3-dev mailing list