Либо просто в архив с модулями запихнуть, либо при сборке указывать перечень модулей, которые сами не вошли в сборку, с py2exe давно не работал не помню, а с cx_Freze, там файл setup.py правишь под себя и все
пример
import sys
from cx_Freeze import setup, Executable
build_exe_options = {"packages": ["os"], "includes": ["tkinter",'re']}
base = None
if sys.platform == "win32":
base = "Win32GUI"
setup( name = "guifoo",
version = "0.1",
description = "My GUI application!",
options = {"build_exe": build_exe_options},
executables = [Executable("C:\Python33\Scripts\script.py", base=base)])
с py2exe примерно тоже вроде, не помню
а вот
from distutils.core import setup
import py2exe
setup(
version = "0.5.2",
description = "EngineGBU",
name = "EngineGBU Alpha",
windows=[{ "script":"main.py",}],
options={"py2exe":{
"excludes" : ["_scproxy",],
"includes":["sip",],
"packages": ["sqlalchemy.dialects.sqlite",]
}
}
)
То, что импортируется через __import__(…) не включается при py2exe или cx_freeze.