cx_Freeze

cx_Freeze is a set of utilities for freezing Python scripts into executables.
Download

cx_Freeze Ranking & Summary

Advertisement

  • Rating:
  • License:
  • Python License
  • Price:
  • FREE
  • Publisher Name:
  • Anthony Tuininga
  • Publisher web site:

cx_Freeze Tags


cx_Freeze Description

cx_Freeze is a set of utilities for freezing Python scripts into executables. cx_Freeze module is a set of utilities that can freeze Python scripts into executables in a cross platform way, using many of the techniques found in Thomas Heller's py2exe, Gordon McMillan's Installer, and the Freeze utility that ships with PytWhy did I go to the trouble of creating another set of utilities when these three utilities already existed? The Freeze utility that comes with Python itself requires a source distribution, a C compiler and linker which makes for a complex environment for creating executables. In addition, this method is very slow for creating executables as compared to the other methods. py2exe is intended for development on Windows only and cx_Freeze is intended for cross platform development. Installer uses an import hook which means that the development environment and runtime environment are considerably different.How does it work? A base executable is created which contains code for unpacking the list of frozen modules, starting up the Python interpreter and passing control to the script which is being frozen. When a script is frozen, the script is searched for all references to modules and these modules are then byte compiled and written to the end of the base executable. If the modules that are referenced are extensions written in C, these modules must be included in the path in which the frozen executable is deployed.Installation:Extract the archive into a directory. In order to build cx_Freeze you need to have gcc and Python development include files and libraries available. Run the following commands.python MakeFrozenBases.pypython FreezePython.py --no-copy-deps FreezePython.pyWhen these commands have completed successfully, the directory will be in the same state as a binary installation. Note that on Windows these scripts assume the presence of a mingw32 installation which can be acquired from http://www.mingw.org. What's New in This Release: · Added support for Python 3.x. · Added support for services on Windows. · 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. · Added command line option --icon as requested by Tom Brown. · 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. · Ensured that empty directories are created as needed in the target as requested by Clemens Hermann. · The encodings package and any other modules required to bootstrap the Python runtime are now automatically included in the frozen executable. · 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. · Enabled support for compiling on 64-bit Windows. · 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. · 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. · As suggested by Todd Templeton, zip files are now closed properly in order to avoid potential corruption. · As suggested by Todd Templeton, data files are no longer copied when the copy dependent files flag is cleared. · Enabled better support of setup.py scripts that call other setup.py scripts such as the ones used by cx_OracleTools and cx_OracleDBATools. · 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. · 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. · 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. · For the Win32GUI base executable, add support for specifying the caption to use when displaying error messages. · For the Win32GUI base executable, add support for calling the excepthook for top level exceptions if one has been specified. · On Windows, ensure that the MSI packages that are built are per-machine by default as otherwise strange things can happen. · Fixed bug in the calling of readlink() that would occasionally result in strange behavior or segmentation faults. · Duplicate warnings about libraries not found by ldd are now suppressed. · Tweaked hooks for a number of modules based on feedback from others or personal experience.


cx_Freeze Related Software