From: Coyot L. (G. Glazer) <co...@li...> - 2016-10-03 15:12:12
|
<html> <head> <meta content="text/html; charset=utf-8" http-equiv="Content-Type"> </head> <body bgcolor="#FFFFFF" text="#000000"> <div class="moz-cite-prefix">Any thoughts, anyone?<br> <br> Best,<br> <br> coyot<br> <br> On 9/26/16 15:40, Coyot Linden (Glenn Glazer) wrote:<br> </div> <blockquote cite="mid:6a3...@li..." type="cite"> <meta http-equiv="content-type" content="text/html; charset=utf-8"> Hi, folks.<br> <br> We are looking at using py2exe for the project described below and would like to know if people feel that py2exe is a good fit.<br> <br> Here are the parameters:<br> <br> We already have Python 2.6 code that works on Linux and Mac by virtue of system Python already being present. The task to it make it work on Windows as a single executable per module.<br> <br> Our application is a C++ client application which currently is launched directly from the start menu and contains within the C++ both the update manager and the crash handler. The new Python code interposes itself between the system launcher (e.g., clicking the icon) and the application, so that the updater and crash handler can be run as siblings of the application process. <br> <br> There are a few features of the codebase that seem worth mentioning:<br> <br> - The launcher is the main module, but there are other bespoke modules that handle, for example, downloading updates or applying updates <br> -- These are imported by the launcher and can also be run as standalone applications.<br> -- In particular, the downloader can run in the background in some cases, so for those cases we launch it via a call to subprocess.<br> - Most of the modules use Tkinter windows to message the user via a module that standardizes the look and feel.<br> -- Those Tkinter windows use icons that come with the application (currently in a subdirectory of the application directory)<br> -- The progress bar implementation also runs in a separate thread so that it can be updated as the download progresses<br> - We build locally during development, but our test and production builds are run on Teamcity hosts that often run more than one build at the same time, so the compiler needs to be process-safe (we recently watched a different compiler fail during a cleanup phase - shutil claimed that the file was held by a different process).<br> - The Teamcity hosts have, sadly, both cygwin python and system python on them, so we will need a way to point py2exe at the system version.<br> <br> Thoughts and advice on how to go about this are most welcome.<br> <br> Best,<br> <br> coyot<br> <b><span style="font-size:9.5pt">GLENN GLAZER | <i>S</i></span></b><b><i><span style="font-size:9.5pt;color:#666666">enior Software Engineer </span></i></b><b><span style="font-size:7.5pt"><br> m:</span></b><span style="font-size:7.5pt"> 562.305.2920 | <b>email:</b> <a moz-do-not-send="true" href="mailto:co...@li..."> co...@li...</a> | <b>Second Life:</b> Coyot Linden<br> <b>LINDEN LAB</b> | Create Virtual Experiences</span><br> </blockquote> <br> </body> </html> |