[web2py] Re: How to build windows binary yourself?

2011-03-27 Thread Brian M
Massimo,

I'll be emailing you a revised script based off of Praneeth's 
standalone_exe.py shortly. I decided to make it a bit more interactive

Features:
1) Creates web2py.exe with py2exe
2) Offers to remove the Windows DLLs that py2exe includes but are likely to 
have licensing issues.
3) Offers to let user decide if they want to include their applications (if 
not still includes admin app)
4) Offers to let user decide if they want to include their site-packages  
scripts sub-folders (in case they've stuck needed modules there)
5) Offers to create a zip file of the build
6) If the zip file was make offers to clean up after itself (remove build, 
deposit  dist folders)

I've tested this on my Win7 box with Python 2.6 and it would appear to work 
as desired though I'll have to try running the resulting exe on some 
computers that have never seen python sometime next week.

As a side not, while doing a diff I noticed that the example app included in 
the official web2py_win.zip includes a bunch of extra files in 
applications/example/static that are not in the source distribution. They're 
almost all epydoc  sphinx files. Is there a reason for this or has 
something gotten out of sync?


[web2py] Re: How to build windows binary yourself?

2011-03-27 Thread Massimo Di Pierro
Fantastic. Yes something got out of sync. I will remove the unwanted files.

On Mar 27, 2011, at 8:23 PM, Brian M wrote:

 Massimo,
 
 I'll be emailing you a revised script based off of Praneeth's 
 standalone_exe.py shortly. I decided to make it a bit more interactive
 
 Features:
 1) Creates web2py.exe with py2exe
 2) Offers to remove the Windows DLLs that py2exe includes but are likely to 
 have licensing issues.
 3) Offers to let user decide if they want to include their applications (if 
 not still includes admin app)
 4) Offers to let user decide if they want to include their site-packages  
 scripts sub-folders (in case they've stuck needed modules there)
 5) Offers to create a zip file of the build
 6) If the zip file was make offers to clean up after itself (remove build, 
 deposit  dist folders)
 
 I've tested this on my Win7 box with Python 2.6 and it would appear to work 
 as desired though I'll have to try running the resulting exe on some 
 computers that have never seen python sometime next week.
 
 As a side not, while doing a diff I noticed that the example app included in 
 the official web2py_win.zip includes a bunch of extra files in 
 applications/example/static that are not in the source distribution. They're 
 almost all epydoc  sphinx files. Is there a reason for this or has something 
 gotten out of sync?



[web2py] Re: How to build windows binary yourself?

2011-03-27 Thread Brian M
http://code.google.com/p/web2py/issues/detail?id=224 Issue created so this 
doesn't get lost. (script is attached if anyone wants it)


[web2py] Re: How to build windows binary yourself?

2011-03-20 Thread Brian M
OK, I've got a version that appears to build successfully - had to re-write 
the code to gather the list of data_files - reglob() didn't return files in 
expected format.  It's working but currently is including a bunch of windows 
API files in the dist directory, so it would NOT be appropriate for public 
distribution as-is without removing those files first (Danger, Danger Will 
Robinson licensing issues!). I'll see if I can figure out how to exclude 
them in the first place or at least automatically remove them with a 
secondary batch script.

Re: [web2py] Re: How to build windows binary yourself?

2011-03-20 Thread Praneeth Bodduluri
We have used

http://bazaar.launchpad.net/~flavour/sahana-eden/trunk/view/head:/static/scripts/tools/standalone_exe.py

To build custom exes of web2py with certain modules added in. The
above works with py2exe. Recently I have been using cxfreeze with my
other projects - It appears to be way more simpler than py2exe.


--
Praneeth
IRC: lifeeth



On Mon, Mar 21, 2011 at 4:06 AM, Brian M bmere...@gmail.com wrote:
 OK, I've got a version that appears to build successfully - had to re-write
 the code to gather the list of data_files - reglob() didn't return files in
 expected format.  It's working but currently is including a bunch of windows
 API files in the dist directory, so it would NOT be appropriate for public
 distribution as-is without removing those files first (Danger, Danger Will
 Robinson licensing issues!). I'll see if I can figure out how to exclude
 them in the first place or at least automatically remove them with a
 secondary batch script.


Re: [web2py] Re: How to build windows binary yourself?

2011-03-20 Thread Brian M
Thanks Praneeth, looks like what your script builds  what I've got going 
produce pretty much the same output (once I comment out the few extra 
modules you've got that I don't). 
1) I notice you're using shutil to just copy the applications directory 
rather than passing the correct tuples to data_files - that's probably an 
easier approach.
2) The data_files declaration you do have is missing splashlogo.gif, so the 
TK gui will not work.
3) You're not including routes.example.py, router.example.py or 
options_std.py probably not a major issue.
4) You're also including a bunch of API-MS-WIN-CORE-*.dll files which 
probably shouldn't be distributed with the app. Perhaps some extra shutil 
calls at the end to remove them?


Relating back to my original reason for starting this task - it looks like 
you don't need to do anything special to get pyodbc included - as long as 
you've got it installed it seems to get included in the binary distribution.


[web2py] Re: How to build windows binary yourself?

2011-03-19 Thread Massimo Di Pierro
I do not build the windows version. I did it once last time 2 years
ago. Since than I only replace the pyc files and rezip. It is possible
we added some files that broke the py2exe script. Moreover I do not
use windows myself. If you have fixed it and want to email a revised
script I will post it.

On Mar 19, 9:53 pm, Brian M bmere...@gmail.com wrote:
 I was going to take a shot at building my own windows exe version of web2py
 and see if I could get pyodbc included, but ran into a problem.  I started
 out with the source distribution of web2py 1.94.5. and then ran

  python setup_exe.py web2py

 Everything seems to start building OK until it begins to try copying the
 data files. Setup throws warnings for NEWINSTALL, ABOUT, LICENSE  VERSION
 (btw, splashlogo.gif is missing from the list but needed) because there
 isn't a destination directory specified.  Then as soon as it tries to copy
 the applications it dies with the following

     error: can't copy 'applications\examples\controllers': doesn't exist or
 not a regular file

 The 'applications\examples\controllers' directory is certainly there, so I'm
 not sure what's wrong.

 If I remove the lines in setup_exe.py that add in
           [x for x in reglob('applications/examples')] + \
           [x for x in reglob('applications/welcome')] + \
           [x for x in reglob('applications/admin')]
 then the exe appears to build ok and runs if I copy in the data files from
 the source dist, but I assume that since the applications are mentioned in
 the official source they're supposed to be included in the build
 automatically.

 Massimo, how do you build the Windows version of web2py?