Использование Gui2exe может быть умным, я использую его как для консоли, так и для графического интерфейса.
Вот скрипт, который я использовал и сработал нормально.
from distutils.core import setup
import py2exe
import sys
if len(sys.argv) == 1:
sys.argv.append("py2exe")
setup( options = {"py2exe": {"compressed": 1, "optimize": 2, "ascii": 1, "bundle_files": 3}},
zipfile = None,
## data_files = ['apple.jpg', 'cheese.jpg'],
#Your py-file can use windows or console
windows = [{"script": 'my.py'}])