[Pythonmac-SIG] relocatable Python framework?

Boyd Waters bwaters at nrao.edu
Wed Sep 19 19:19:33 CEST 2007


On Sep 19, 2007, at 10:27 AM, Christopher Barker wrote:

> Is your goal something that looks and acts like a regular single  
> stand-alone application? If so, then why not just use py2app?

Good question!

I will try to inhale py2app documentation, maybe it will help.

My short answer to "why not py2app" is that this is not just a Python  
application. It's a large C++ system. There are Qt applications in  
there as well.

The primary user interface at the moment is an extension to the  
IPython shell, launched by a C++ executable that sets up our Python  
library path and wraps Python_Main.

I run against a Python 2.5.1 framework build that I have installed  
in /opt/casa/lib, along with another 100 megabytes of open-source  
fun, built with MacPorts, that uses /opt/casa as ${prefix}.  (Our  
application is called CASA.) Altogether it is 250 megabytes on disk...

The previous three releases of this system have been a completely  
self-contained directory tree that is installed in /opt/casa/ --  
actually in /opt/casa/$version -- and that works great. But I would  
like to take that self-contained thing to the next level, and allow  
the user to install the directory tree in an arbitrary location. A  
draggable application.


My current whack at a Mac application bundle is an AppleScript  
"bundle" that simply calls Terminal and tells is to execute the  
wrapper shell script that starts up our Python_Main wrapper.


So far we've been able to get away with a single code base, Qt for  
the GUI, no Mac-specific stuff in our system. I can write simple  
Objective-C applications but I'm the only member of the team who  
might do so, and we want to avoid doing so if we can in order to  
minimize the maintenance cost of the platform. The developers here  
like the Mac as a platform but it's a Linux code base, Linux is our  
primary deployment target.

I was hoping that I could simply set PYTHONEXECUTABLE or PYTHONHOME  
in my launcher shell script to set the path to Python at run-time.

Keep those cards and letters coming!

Thanks!

  - boyd

Boyd Waters
National Radio Astronomy Observatory
http://www.aoc.nrao.edu/~bwaters


More information about the Pythonmac-SIG mailing list