I routinely build py2exe single file executables using Scipy, matplotlib, wxpython and win32com or the Machin's xlrd/xlwt modules. Never used Tkinter but should not be a problem, probably wxpython is more picky.
I have found some problems with numpy/scipy, matplotlib and wxpython before and after building the executable but after you know what to do it works smoothy.
Some problems:
matplotlib requires to indicate where some auxiliary archives are. You need to add to your setup.py
datafiles = matplotlib.get_py2exe_datafiles()
numpy/scipy have given me some problems, due to some expresions in the modules, when executing the py2exe executable.
Numpy has some lines suchs as:
__doc__ += "something more"
that fail when __doc__
is None.
For this I had to modify manually the numpy scripts (including if's). I do not know if this has been solved in the new versions.
wxpython is generally a source of problems due to some required microsoft dlls that have to be present in the computer to work. Just you have to be carefull assuring you provide them in your package or at least preventing your users about the issue.
Some useful hints can also be found in the py2exe and wxpython wikis