views:

63

answers:

3

I'm using GUI2Exe to CX_freeze my python app, which is working great... if I want to build it manually.

My next step is to automate this build, so I can build in one step

Is there a way to use the exported setup.py to build? or to call GUI2Exe with some command line parameters to build the project?

Thanks!

Update: So I ran the command manually following the suggestions below: Here's the difference:

  • library.zip is different, size off by 11 bytes
  • {app}.zip is different, same size
  • missing {app}.manifest

Would you be comfortable that they are the same?

+1  A: 

As its homepage says, GUI2Exe is just a GUI around different python exe builders, so I guess you should just use your tool of choice directly. As for cx_Freeze, you could find the description of its setup.py options in its manual http://cx-freeze.sourceforge.net/cx_Freeze.html#distutils-setup-script.

Grey Teardrop
Thanks. but GUI2EXE seems to be doing more than just running "setup.py build", as the results I get are different. Alternatively, is there a way to find out what additional commands GUI2exe are running to build?
fseto
Command line is built in `Process.py` file of GUI2Exe source. As far as I can tell, it runs `python -O setup.py build --build-exe=<path>` (optimization flag actually depends on GUI setting).
Grey Teardrop
Thanks for looking into the source itself.... I guess this is the closest to finding out what additional things GUI2EXE is doing besides generating the setup.py.
fseto
A: 
python setup.py build

should be the only command you need. What's the difference in the results?

Velociraptors
+1  A: 

GUI2Exe is just a wrapper around various binary builders. In the case of py2exe, there's a menu item where you can actually view the setup.py file that GUI2Exe generates. There you'll see what extra things it does. And no, you cannot run it via the command line unless you mean just running the python file itself (i.e. python GUI2Exe.py). It's not a command line utility.

Mike Driscoll
fseto
Glad you like it. Thanks for the readership!
Mike Driscoll