views:

170

answers:

2

Could someone tell me which is better of the two for bundling Python applications — cxFreeze or pyInstaller? I'm looking for a comparison based on factors such as:

  1. Popularity (i.e. larger user base)
  2. Footprint of the built binary
  3. Cross platform compatibility
  4. Ease of use

Thanks.

A: 

Why not use something like GUI2EXE?

GUI2Exe is a Graphical User Interface frontend to all the "executable builders" available for the Python programming language. It can be used to build standalone Windows executables, Linux applications and Mac OS application bundles and plugins starting from Python scripts.

For my experience, I found that for some programs py2exe doesn't work right, but cx_freeze does. haven't tried pyinstaller.

fseto
+1  A: 

I tried both for a current project and decided to use cx_freeze. I found it easier to get started. It has an option to bundle dependencies in a zip archive, which makes it easy to check that everything was properly included.

I had trouble getting PyInstaller to include certain egg dependencies. It couldn't handle conditional imports as well as I needed and looking through the bundled archive was difficult. On Windows, it requires pywin32 (so it can't be used with virtualenv) and version 1.4 doesn't work with Python 2.6. There's no information on whether Python 2.7 is supported.

Velociraptors