
[MA Lemburg]
The solution I'm using (and Zope is too) is to wrap a complete Python installation into the product, all setup to do the right thing. It makes the archive a little heavier... which is actually not so bad from a marketing POV. Bizarre, but people seem to want all those megs.
This is fine if you're distributing an app - it's a black box, it's standalone, no dependencies outside the app. Cool. I do that too. I use imputil to serve modules out of archives - no need to tweak the modules at all. In the upcoming version (of my installer) sys.path has exactly one entry, and the only python that needs to be outside an archive is exceptions.pyc. (I repeat here: while the pieces of my installer that handle binary dependencies are Win32 only, the parts that handle pure Python are cross-platform.) But both you and Jim are aiming for this non-existant in- between space - in some respects you want a "normal" Python installation, but you want to black-box your turf. I'm sorry, but if you're going to fit into a Python installation, you should make public your dependencies. Yes, installation becomes more complicated, but you're dealing with *Python users*. They're at least as likely to get screwed by having multiple different copies of the same thing around as you are in having dependencies outside of your personal control. If you also want to distribute as a standalone, freeze/squeeze/ whatever it. Just make sure that what you distribute this way won't interfere (or be confounded by) any existing Python installations. - Gordon