cx_Freeze 4.1

Anthony Tuininga anthony.tuininga at gmail.com
Sun Jul 12 07:27:47 CEST 2009


What is cx_Freeze?

cx_Freeze is a set of scripts and modules for freezing Python scripts
into executables in much the same way that py2exe and py2app do. It
requires Python 2.3 or higher since it makes use of the zip import
facility which was introduced in that version.


Where do I get it?

http://cx-freeze.sourceforge.net


What's new?

Changes from 4.0.1 to 4.1

1) Added support for Python 3.x.

2) Added support for services on Windows.

3) Added command line option --silent (-s) as requested by Todd
Templeton. This option turns off all normal output including the
report of the modules that are included.

4) Added command line option --icon as requested by Tom Brown.

5) Ensure that Py_Finalize() is called even when exceptions take place
so that any finalization (such as __del__ calls) are made prior to the
executable terminating.

6) Ensured that empty directories are created as needed in the target
as requested by Clemens Hermann.

7) The encodings package and any other modules required to bootstrap
the Python runtime are now automatically included in the frozen
executable.

8) Ensured that if a target name is specified, that the module name in
the zip file is also changed. Thanks to Clemens Hermann for the
initial patch.

9) Enabled support for compiling on 64-bit Windows.

10) If an import error occurs during the load phase, treat that as a
bad module as well. Thanks to Tony Meyer for pointing this out.

11) As suggested by Todd Templeton, ensured that the include files
list is copied, not simply referenced so that further uses of the list
do not inadvertently cause side effects.

12) As suggested by Todd Templeton, zip files are now closed properly
in order to avoid potential corruption.

13) As suggested by Todd Templeton, data files are no longer copied
when the copy dependent files flag is cleared.

14) Enabled better support of setup.py scripts that call other
setup.py scripts such as the ones used by cx_OracleTools and
cx_OracleDBATools.

15) On Solaris, ldd outputs tabs instead of spaces so expand them
first before looking for the separator. Thanks to Eric Brunel for
reporting this and providing the solution.

16) On Windows, exclude the Windows directory and the side-by-side
installation directory when determining DLLs to copy since these are
generally considered part of the system.

17) On Windows, use %* rather than the separated arguments in the
generated batch file in order to avoid problems with the very limited
argument processor used by the command processor.

18) For the Win32GUI base executable, add support for specifying the
caption to use when displaying error messages.

19) For the Win32GUI base executable, add support for calling the
excepthook for top level exceptions if one has been specified.

20) On Windows, ensure that the MSI packages that are built are
per-machine by default as otherwise strange things can happen.

21) Fixed bug in the calling of readlink() that would occasionally
result in strange behavior or segmentation faults.

22) Duplicate warnings about libraries not found by ldd are now suppressed.

23) Tweaked hooks for a number of modules based on feedback from
others or personal experience.


More information about the Python-announce-list mailing list