|
From: Coyot L. (G. Glazer) <co...@li...> - 2016-09-26 22:40:19
|
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
</head>
<body bgcolor="#FFFFFF" text="#000000">
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>
</body>
</html>
|