[Pythonmac-SIG] Recurring question - which python should I use?

Christopher Barker Chris.Barker at noaa.gov
Tue Mar 14 20:28:35 CET 2006


Bill,

You have unique needs that are far beyond what most people mean by 
"distribute my app"!

Bill Janssen wrote:
> none of the available-for-Python-on-the-Mac portable GUI
> systems are good enough 

wxPython is really the only portable option right now -- what is not 
good enough about it for your needs? I'm curious.

(I have hopes for GTK+ on Cairo, with the
> Imendio-sponsored port at
> http://developer.imendio.com/wiki/Gtk_Mac_OS_X).

That would be nice, but I'm not all that optimistic that it will be 
ready that soon, or look&feel very Mac-ish. People complain about that 
enough with wxPython.

> along with 2 Mac apps
> written in Java as bundled jar files (for Swing).

What does SWING give you that wxPython doesn't -- again, I'm curios.

> When building an installer, I build the Python extensions from source
> (using the system Python) and install them under /usr/local/mysys/...
> The post-install script in the Mac installer then inserts a .pth file
> for my system's extensions in the system Python's site-packages
> directory.  This allows all the command-line Python scripts to use
> them, along with the daemon.
> 
> Can you suggest a better approach?

I don't know that it's better, but once you're doing all that, it really 
wouldn't be a bid deal to distribute the new FrameWork installer as 
well, and then not be dependent on Apple's Python. What you have now 
will most likely break if the user upgrades OS-X, as Apple is likely to 
upgrade their python, and then your .pth file could disappear and, more 
fatally, your compiled extensions may not work with the new one. The 
rest of the process would be the same.

I'd like to be able to build a "Python Runtime" that included all of the 
Framework build, plus the full set of modules that I need for my apps. 
then I'd like to be able to run command line apps against it, and use 
Py2Applet (no, it doesn't exist), to build Application bundles that 
relied on that runtime. This seems to me to be  a good solution for 
folks like us that are distributing not one app, but a bunch of apps 
that all depend on the same stuff. In my case, I have a set of small GUI 
utilities, and some command line scripts -- it seems a bit crazy to 
bundle up the entire python and wxPython with a 200 line script! Or more 
to the point, the same pile with a number of small scripts.

I think all this could be accomplished with a small amount of hacking on 
Py2App, but I have no idea if I'll ever get around to that.

On the other hand, I wonder if the "runtime" could be built by simply 
installing the Framework Build, installing all the extensions you want, 
then making a big tarball out of:

/Library/Frameworks/Python.Framework

After all, I think one of the points of Frameworks is that they are 
self-contained.

You could then even give it a different name (MySpecialRunTime) and put 
a few links into usr/local/bin to whatever you need in:

/Library/FrameWorks.MySpecialRuntime.framework/Version/2.4/bin/

Would this work?

I may just try this some day.

-Chris













-- 
Christopher Barker, Ph.D.
Oceanographer
                                     		
NOAA/OR&R/HAZMAT         (206) 526-6959   voice
7600 Sand Point Way NE   (206) 526-6329   fax
Seattle, WA  98115       (206) 526-6317   main reception

Chris.Barker at noaa.gov


More information about the Pythonmac-SIG mailing list