I've been trying for over a week now to make a .exe of a wxPython script. I still have a number of questions, and the process of creating an exe is still quite unclear.

Which utility should be used? I've heard to use py2exe, pyinstaller, gui2exe, some combination of gui2exe and some shady .bat file, etc. Which is best for a wxPython app?
What's the deal with .dlls? What do they do, do I need to "bundle" them, and why wouldn't they be on the user's computer?
Can you bundle things into the .exe, or do they need to be in the directory the .exe is in?

These things have not been made particularly clear, as I've been trying to find out exactly how to make my program into an exe for a while.
I use pyinstaller as it is very easy to use and the applications run without any problems
Some Windows DDLs are needed for the included Python Compiler and for the maybe win32    api calls
With Pyinstaller you can bundle everything needed (except config files and dbs of course) using the -F flag.
Creating wxPython GUI .exe?