Velocity Reviews - Computer Hardware Reviews

Velocity Reviews > Newsgroups > Programming > Python > howto py2exe/py2app for self updating application

Reply
Thread Tools

howto py2exe/py2app for self updating application

 
 
SPE - Stani's Python Editor
Guest
Posts: n/a
 
      04-22-2006
Hi,

I'm creating a GUI program
with wxPython which will be distributed for Mac and Windows. The
audience of the program is not technical at all (eg they've never
heard about Python yet , so everything should go automatically. The
program should be able to update itself and to update its database
(collection of .txt files). These are two separated things and don't
happen simultaneously. I thought of the following:

- seperate the code which will be updated and zip it to use a zipimport
- zip the .txt files

These files can then be downloaded (urllib or so) and if the download
has completed succesfully, replace their old files. For the updated
python code it is necessary to restart the program for the database
not.

These questions arise:

++ How can I bundle a zipimport file with py2exe/py2app? Let say this
is the
folder layout of the program:
application.py
code.zip (contains main.py, ui.py, etc..) *
data.zip (contains .txt files) *
other files (preferably bundled but not necessary) such as the
wxPython libraries and whatever py2app will want to include

(* means should be remote updatable/synchronizable)

application.py is just a dummy file which calls code.main.main()

Should I declare code.zip as a data file or as a python package?

Of course it would be nice if someone be so kind to suggest a simple
setup.py recipee for this...

++ I have Python2.4, wxPython2.6.3, OS X 10.4 Will it run on other
versions of OS X? If not will a version compiled with py2app on OS X
10.3 run on
OS X 10.4 or do I need to provide a file for every OS X version?

++ Do I have to declare something special for py2app and wxPython?

Thanks in advance,

Stani

PS Please cc your answer to spe.stani.be IatI gmail.com

 
Reply With Quote
 
 
 
 
python.xyz@gmail.com
Guest
Posts: n/a
 
      04-22-2006
of course!
your can be carefully if you do it.
but why you ask some here ? in http://www.python.org completly a module
for your problem
look and try again!

[roRoNoaZoro]

 
Reply With Quote
 
 
 
 
SPE - Stani's Python Editor
Guest
Posts: n/a
 
      04-22-2006
Can you be more specific? Which module do you mean at python.org?

Stani

 
Reply With Quote
 
Tony Meyer
Guest
Posts: n/a
 
      04-23-2006
> I'm creating a GUI program
> with wxPython which will be distributed for Mac and Windows.

[...]
> The program should be able to update itself

[...]

By default, py2exe puts all the .pyc files used in a zip file. The
simplest way to do this it let py2exe do what it normally does. Code
all of the .py files as you would when running from source (i.e.
you'll never explicitly use zipimport).

To update, you then:

1. Download the new .pyc files.
2. Expand (use ZipFile) the existing py2exe zip.
3. Replace the old .pyc files with the new ones.
4. Rezip (use ZipFile) the .pyc files.
5. Replace the old py2xe zip with the one containing the new files.
6. Restart the program.

This works (I use a more sophisticated version of this) well with
py2exe. I haven't used py2app at all, but if it works much like
py2exe, then all of the above still applies (certainly the steps are
platform-agnostic).

=Tony.Meyer

 
Reply With Quote
 
 
 
Reply

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
Changing self: if self is a tree how to set to a different self Bart Kastermans Python 6 07-13-2008 11:19 AM
__autoinit__ (Was: Proposal: reducing self.x=x; self.y=y;self.z=z boilerplate code) falcon Python 0 07-31-2005 05:41 PM
Re: __autoinit__ (Was: Proposal: reducing self.x=x; self.y=y;self.z=z boilerplate code) Ralf W. Grosse-Kunstleve Python 2 07-12-2005 03:20 AM
Proposal: reducing self.x=x; self.y=y; self.z=z boilerplate code Ralf W. Grosse-Kunstleve Python 16 07-11-2005 09:28 PM
__autoinit__ (Was: Proposal: reducing self.x=x; self.y=y;self.z=z boilerplate code) Ralf W. Grosse-Kunstleve Python 18 07-11-2005 04:01 PM



Advertisments