From: Thomas H. <th...@us...> - 2005-08-30 05:55:27
|
Update of /cvsroot/py2exe/py2exe/py2exe/samples/singlefile/comserver In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv12572 Added Files: test.py setup_client.py setup.py .cvsignore Log Message: Add single file COM server and client example. --- NEW FILE: .cvsignore --- build dist --- NEW FILE: setup.py --- # This setup script builds a single-file Python inprocess COM server. # from distutils.core import setup import py2exe import sys # If run without args, build executables, in quiet mode. if len(sys.argv) == 1: sys.argv.append("py2exe") sys.argv.append("-q") class Target: def __init__(self, **kw): self.__dict__.update(kw) # for the versioninfo resources self.version = "0.6.0" self.company_name = "No Company" self.copyright = "no copyright" self.name = "py2exe sample files" ################################################################ # a COM server dll, modules is required # interp = Target( description = "Python Interpreter as COM server module", # what to build. For COM servers, the module name (not the # filename) must be specified! modules = ["win32com.servers.interp"], # we only want the inproc server. create_exe = False, ) ################################################################ # pywin32 COM pulls in a lot of stuff which we don't want or need. excludes = ["pywin", "pywin.debugger", "pywin.debugger.dbgcon", "pywin.dialogs", "pywin.dialogs.list", "win32com.client"] options = { "bundle_files": 1, "ascii": 1, # to make a smaller executable, don't include the encodings "compressed": 1, # compress the library archive "excludes": excludes, # COM stuff we don't want } setup( options = {"py2exe": options}, zipfile = None, # append zip-archive to the executable. com_server = [interp], ) --- NEW FILE: test.py --- import sys from win32com.client import Dispatch d = Dispatch("Python.Interpreter") print "2 + 5 =", d.Eval("2 + 5") d.Exec("print 'hi via COM'") d.Exec("import sys") print "COM server sys.version", d.Eval("sys.version") print "Client sys.version", sys.version print "COM server sys.path", d.Eval("sys.path") print "Client sys.path", sys.path --- NEW FILE: setup_client.py --- # This setup script builds a single-file Python inprocess COM server. # from distutils.core import setup import py2exe import sys # If run without args, build executables, in quiet mode. if len(sys.argv) == 1: sys.argv.append("py2exe") sys.argv.append("-q") ################################################################ # pywin32 COM pulls in a lot of stuff which we don't want or need. excludes = ["pywin", "pywin.debugger", "pywin.debugger.dbgcon", "pywin.dialogs", "pywin.dialogs.list", "win32com.server"] options = { "bundle_files": 1, # create singlefile exe "compressed": 1, # compress the library archive "excludes": excludes, } setup( options = {"py2exe": options}, zipfile = None, # append zip-archive to the executable. console = ["test.py"] ) |