py2exeがwin32com.shellを上手く検索してくれなくてハマった。
解決法をメモしておく。(と、いってもhttp://www.py2exe.org/index.cgi/WinShellの丸写しなんだけども。)
from distutils.core import setup import py2exe #ここから try: # if this doesn't work, try import modulefinder import py2exe.mf as modulefinder import win32com for p in win32com.__path__[1:]: modulefinder.AddPackagePath("win32com", p) for extra in ["win32com.shell"]: __import__(extra) m = sys.modules[extra] for p in m.__path__[1:]: modulefinder.AddPackagePath(extra, p) except ImportError: # no build path setup, no worries. pass #ここまでのゴニョゴニョをすると、 #win32com.shellをちゃんとexeに含んでくれる。 #何をやってるのか、まだよく分かってないのだけど py2exe_options = { 'compressed': 1, 'optimize': 0, 'includes': [], 'excludes': [], 'dll_excludes': [], 'packages': [], 'bundle_files': 2 } setup( options = {'py2exe': py2exe_options}, console = [{ 'script' : 'Calendar.py', 'icon_resources': [], 'other_resources': [], }], data_files = [], zipfile = None)