[Pythonmac-SIG] Crossplatform UI libraries best supported on the Mac?
Bob Ippolito
bob at redivi.com
Tue May 24 17:57:12 CEST 2005
On May 24, 2005, at 8:35 AM, Karl Merkley wrote:
> All I can say is that I ported my very large, very complex app to the
> Mac during the last 6 month release cycle. Qt was the least of my
> worries. Everything worked great with a single code base on all my
> platforms. I did run into one problem with custom cursors and I
> had to
> disable them on the Mac. A bummer but not a killer. Yes, I did
> have
> to do my own packaging using the installl_name_tool. I had to build a
> script to build the bundle for me. But I have so many component
> libraries and frameworks that I wanted to make sure that I know
> exactly
> what is going on anyway.
But does it look and feel like a typical Mac OS X application?
Though, it sounds like you have the sort of application where that
doesn't really matter -- and maybe it's not even what you're going
for (custom cursors!).
It's good that you spent the time to figure out how to package such
an application on the Mac. Most people don't... or if they do, they
don't get far enough into it to do it correctly.
You shouldn't have to create such scripts or track components like
that. You're already linking to it, why should you have to do
anything else? The macho_standalone tool that comes with py2app does
all of this automatically, you might want to take a look at it.
> BTW, I embed python in my app and I do it in the same method on all
> platforms and I do not use py2app to help me with that process. I
> have been interested in your comments on that but as I have not had
> any
> problems as of yet I haven't worried about it and the method that I am
> using works regardless of platform.
py2app does three things:
1. provides you with an embedded interpreter (either as an
application or a plugin)
2. resolves and consolidates Python dependencies as best as it can
3. resolves and consolidates dyld dependencies and rewrites their
Mach-O load commands
You've done all three of these things, by hand, for your specific
application. There's no compelling reason to switch your build
process over, especially because it's cross-platform already and it
doesn't sound broken.
In the general case, these tasks are time consuming and error prone.
py2app takes the time out of it, and is pretty good about not
introducing errors that weren't already there in the first place.
Resolving Python dependencies isn't an exact science, but the
embedded interpreter and Mach-O functionality is quite reliable.
-bob
More information about the Pythonmac-SIG
mailing list