To use: python setup.py py2app [-A] -A: creates a temporary, non-redistributable alias plugin file. I convinced this to work with DarwinPorts via some .pth hacks or other. It can be advantageous to "touch dist/QIFImporter.plugin" to make xcode realize it changed, also. Other things: 1. I have sometimes had to execute: ln -s lib/python2.4 dist/PyPlugin.plugin/Contents/Resources/Python 2. I once had a problem where nothing would load (error code 2) fixed like so: "The problem is that py2app/bundletemplate/prebuild/main in the py2app distribution is an intel-only binary (at least in the current trunk) instead of a universal binary. "Removing the file and running 'setup.py' in the bundletemplate directory should rebuild it with the proper architecture for your machine."