[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