Building Python Statically
This page is a placeholder until MicahElliott (or anyone) figures out all the steps to make this work.
This page describes the steps required to build Python statically, derived from this thread. It presently covers Linux, but many of the same steps apply to other OSs. The goal is to get ldd to say:
$ ldd /path/to/bin/python not a dynamic executable
Note that the --disable-shared option is not related to building Python statically.
There is a file called Modules/Setup.local which is designed for customizing how modules are built.
GCC (and LD) offer a -static option to create static executables.
It would be nice to have a --enable-all-static option in the configure script which would take care of all this for you. For an example, try building Subversion.
See http://mdqinc.com/blog/2011/08/statically-linking-python-with-cython-generated-modules-and-packages/ for a detailed example which includes both how to build a barebones static python, and adding custom modules to the binary.
Static Modules Built Into libpythonX.X.a
Haven't figured out how to make python static, but here is how to make all of the modules static.
Edit Modules/Setup.local and add the line:
./configure make make install
For the full answer see http://stackoverflow.com/questions/1150373/compile-the-python-interpreter-statically