The only way I got this to work was to distribute some of python 2.7 with the application namely the Lib and DLLs directories under a directory Python27 in the same folder as the executable that has embedded python.
This overcame the problem that the user may not have python installed and meant that they will be able to add modules of their own to the python "home" local to the application. This is basically what I ended up doing to get this how I want it.