Not sure how this is particularly useful then, since OSX ships with python 2.7. Something like this could be useful on Windows / Linux since they don't necessarily have a python installed, or if it was bundling 3.5.
Have you tried shipping a python application to end users while relying on the OS X system python? In my experience, this is an extremely painful process.
You would either need to do all of your development/testing with the system python or ensure that you're development environment is compatible with the system python (including stuff like distutils.util.get_platform(), https://github.com/MacPython/wiki/wiki/Spinning-wheels).
What do you do when Apple doesn't update their python with some patch you want?
Although, I do not attempt to install any libraries, I keep everything in the application bundle and set environment variables as needed.
It is limiting in the sense that I must use the Python version that Apple does but at the same time, the shipping executable is downright tiny compared to most Mac OS X applications.
I use the location of the script to find the absolute path to the bundle (MacOS folder), from which I can work backwards using ".." to find other things like bundled libraries.
In my case some of the libraries are also compiled so I have a starter script that sets DYLD_LIBRARY_PATH, PYTHONPATH, etc. and runs a 2nd script that can then successfully import whatever is required.
I initially tried using py2app/py2exe/cx_Freeze, but stuff kept crashing. They're trying to do something considerably more complicated than my 90 LOC bash script; namely trying to bundle your application, it's dependencies and the python interpreter into one package.
This bash script just gives you a python interpreter that should run on any system. From there, your install script can setup a virtualenv, grab dependencies and do whatever else.
https://github.com/cython/cython/tree/master/Demos/embed
You could take your existing Python code and simply change the .py extension to .pyx and compile with the `--embed` option.
Of course, it requires compile dependence on Cython.