[Distutils] EasyInstall: scripts

Phillip J. Eby pje at telecommunity.com
Mon May 30 02:35:09 CEST 2005

At 05:13 PM 5/29/2005 -0700, Bob Ippolito wrote:
>Mac OS X doesn't condone applications touching the user's dock, so
>the "start menu" thing is out.  As for putting the applications in a
>reasonable place, the "reasonable place" depends on the user.  The
>best solution might be to just pop open the dist folder and let the
>user drag it to where they want it, or to put it in a disk image and
>mount it.

Okay, sure.

>Anyway, "GUI scripts" is mostly a non-starter on OS X, it's generally
>not the right thing to do.  Things should either be applications or

Um, yeah.  I'm trying to say that I want a way to create a crappy 
cross-platform application.  :)  Let's say I write a wx app (yes, it'll be 
nasty-looking on the Mac, I get it), and just want to distribute it as a 
cross-platform egg (because only its dependencies are impure).  I would 
want there to be a Mac version of EasyInstall that takes this script and 
makes it into a Python application.

You're probably going to tell me that I'm talking about py2app, except for 
the part where I don't have a Mac myself, so I can't run it.  But the 
application is something useful that people would like to use, even on the 
Mac, despite its crappy wx-based user interface.  Why can't Mac users just 
download the egg and double-click it or drop it on EasyInstall or whatever 
the idiomatic thing to do is, to get back an application that they can then 
drag to wherever they're going to keep it?

>   Python doesn't currently participate in the "script"
>infrastructure on Mac OS X.

Unfortunately, I don't even know what this means.  I was talking about 
command-line scripts, in a generic Unix-y sense.

>>On the other hand, it does seem a little silly to use a command- line 
>>tool to install a graphical application.  :)  However, it
>>probably makes sense to create platform-specific GUI wrappers
>>around EasyInstall to do this sort of thing.
>Well, on Mac OS X, you don't install graphical applications, they're
>self-contained application bundles that you just put wherever you
>want and run.  Installers, on Mac OS X, are for crappy applications
>that don't do things the right way.

Right, so when EasyInstall is eventually bundled with Python, perhaps 
there'll be some kind of association such that trying to invoke an egg does 
the right thing to turn it into an application or something.

The idea here is that if you bundle your application as an .egg, then a 
platform-specific tool should be available to:

* Do whatever wrapping or installing is customary for making "an 
application" available on the platform

* Download and install the application's dependencies, perhaps after 
prompting for optional features (using the "optional dependencies" facility 
of Eggs)

Now, in the case of the Mac, once this is done, you presumably have a valid 
"application" that you can then distribute any way you see fit.  But, if 
you'd like to have access to cross-platform apps that non-Mac people are 
writing, it would be a lot more convenient if there were an 
EasyInstall+py2app tool.

More information about the Distutils-SIG mailing list