[Pythonmac-SIG] py2app standalone options

has hengist.podd at virgin.net
Thu Dec 23 19:42:51 CET 2004


Ronald Oussoren wrote:

>>First, I'm  a little unclear on what exactly Has wants. Could you clarify?
>>
>>Freedom, basically. I
>
><rant>
>You obviously don't want it badly enough. Adding an option that will 
>make the application not include stuff from site-packages is not 
>much work, the patch is less that 100 lines (context-diff) and it 
>took me less than half an hour to write it.
></rant>

Oh, absolutely true. But then, given the choice of puddling around in 
py2app's guts for days on end - remember, I'm nothing like as 
technically capable as folks like Bob and yourself - or getting on 
with my own projects, I have to give the latter priority (since who 
else is gonna do it for me?). For now, I can just continue futzing 
with/occasionally swearing at BundleBuilder; it's not ideal, but it 
does the job and lets me get on with more pressing work (like punting 
AppleScript's scrawny old butt to the kerb;).


>>To give a practical example, let's say I want to write a GUI 
>>interface to py2app.
>
>That's an application with different requirements than py2app,

Not sure how: both are intended to build applications, and allow 
users to configure exactly how they're built. The only thing that 
differs is the workflow's order.


>and that should be easy enough to build using the building blocks of py2app.

That would be my hope. Of course, one shouldn't have to disassemble 
py2app with a hammer in order to get at the bits you need; that's my 
concern.


<aside>
Look at all this another way: in an ideal world, developers and their 
applications wouldn't need to deal with any of this dependency crap 
_at all_. Each app would merely list its requirements and the system 
would magically conjour up suitable components upon request. That 
every single app has to lug around its own set of potentially 
obsolete/buggy/system-incompatible dependencies is no doubt partly 
due to this not being an ideal world, so compromises must sometimes 
be made. But then, it might also be partly due to a "well that's the 
way things have always been done" philosophy that's come from the 
traditional 
static-inflexible-early-bound-language-plus-compile-time-linking side 
of computer evolution; constraints Python isn't bound by. Dunno about 
you, but personally I'd want to hedge my bets before tying users down 
to any particular strategy.

Here's another whacky idea: why not get rid of the one-way 
source-code->build->finished-application workflow, and treat [certain 
types of] applications as simply another editable format? This is 
what AppleScript does, for example: write a script and save it as an 
applet, run it, drop the applet onto Script Editor, edit it some 
more, run it, etc. If it errors, a dialog pops up with an error 
description and an 'Edit Script' button that, when clicked, opens the 
script in SE for you with the faulty line already highlighted. 
Emulate Smalltalk a bit more, C a bit less. The more open, flexible 
and neutral tools like py2app are, the easier this kind of lunacy is 
to indulge. After all an idea is only stupid until you've tried it 
and find you really quite like it. :)
</aside>

>BTW. the GUI I'd like to see is a GUI that allows me to grafically 
>construct setup.py files.

I think the biggest problem with setup.py files is that they're 
unnecessarily complicated. The best way to simplify the setup process 
would be to simplify setup.py itself: push all the descriptive stuff 
- name, version, author, description, etc, etc. - into its own 
plaintext file so the only thing setup.py then has to deal with is 
any custom build code. Make the system simple enough that it doesn't 
require a wizard in the first place; a drag-n-drop GUI shell is then 
merely a pleasant (and newbie-friendly) convenience, rather than an 
awkward band-aid for deeper inadequacies.


OK, enough blathering the now... back to getting the next version of 
appscript fit to ship - don't still want to be doing it in 2006. ;)

Later,

has
(May not know much about programming, but I know what I like.;)
-- 
http://freespace.virgin.net/hamish.sanderson/


More information about the Pythonmac-SIG mailing list