py2exe automatic upgrades of a program while it is running, is that possible?
Patrick Mullen
saluk64007 at gmail.com
Tue Mar 3 03:20:18 EST 2009
On Mon, Mar 2, 2009 at 6:56 PM, Maxim Khitrov <mkhitrov at gmail.com> wrote:
> - Show quoted text -
> On Mon, Mar 2, 2009 at 9:18 PM, William Heath <wgheath at gmail.com> wrote:
>> Hi All,
>> I am using py2exe to create a windows executable. I am curious if anyone
>> knows a way to automatically upgrade a py2exe windows executable while it is
>> running. Is that possible? If so how? If it isn't possible, what is the
>> next best thing? Also, if it is not available using py2exe is it available
>> in other languages/solutions your aware of?
>> -Tim
Here's what I did, which works really well. The main script imports
other python modules which do the real work of the program. It is
only a few lines long and looks something like this:
import main
main.run()
There is more stuff there, imports etc to help py2exe find everything,
but that's the basic idea. Then, to upgrade the program, all I have
to do is replace the modules which are in a subfolder. (And be
careful to reload them, which has its own considerations).
I do some wonky stuff in my build script to delete my main modules
from library.zip since its easier to replace them outside of that, you
could also use the skip-archive option to not use the .zip file at
all.
You really can't replace an exe itself while its running, I would
avoid that as much as possible. Workarounds to do this are highly
prone to error.
More information about the Python-list
mailing list