R Fritz wrote:
OK. The app works, well, sort-of. (Alpha, 0.12.1.) So now I want to package it for Windows (& then Mac, & then Linux.) It's a mutt of an app, with a GUI in WxPython, and 3D visualization component that uses OpenSceneGraph, C++ wrappers, and Boost.Python. Any advice for someone who hasn't done this before?

Mac:

On the Mac, the only choice is py2app to make your app a stand-alone - it will probably require some tweaking by hand, as py2app is a bit under-maintained, but it's not too hard to do that. Mac app bundles are really just directories with a particular structure, so it's not hard to manipulate them with a little custom python in your setup.py.

NOTE: I think PyInstaller has some Mac support now -- I'm not sure what the state of that is, but it may be worth checking out.

You can build a Mac mpkg if you need to install stuff outside the app bundle -- I haven't done it, but again, it's pretty much a directory with some xml describing it -- doesn't look too hard.

Windows:

py2exe or PyInstaller. I've been using py2exe, but I've been getting frustrated with it lately -- it seems a bit under-maintained as well. I haven't tried PyInstaller.

You can use InnoSetup to make an installer -- it's a nice, easy to use tool.

Linux:

The best way is probably distro-specific packages -- a pain if you want to support a lot of distros, but it works. Ideally you have a at least one savy user for each distro that can maintain the package. You can also use PyInstaller on Linux, but it's still going to depend on system libs, etc. I've never tried that.


there is also cxFreeze and bbFreeze. bbFreeze looks pretty good, but is missing a few features. I've never looked at cxFreeze.

Too many options!

-Chris






--
Christopher Barker, Ph.D.
Oceanographer

Emergency Response Division
NOAA/NOS/OR&R            (206) 526-6959   voice
7600 Sand Point Way NE   (206) 526-6329   fax
Seattle, WA  98115       (206) 526-6317   main reception

[email protected]

Reply via email to