eGenix PyRun 1.2.0 GA

eGenix PyRun - One file Python Runtime 1.2.0 GA

eGenix is pleased to announce our new open-source eGenix PyRun - One file Python runtime 1.2.0 for Python 2.5 - 2.7, with support for Linux, FreeBSD and Mac OS X.


Our new eGenix PyRun combines a Python interpreter with an almost complete Python standard library into a single easy-to-use executable, that does not require a system wide installation and is fully relocatable.

eGenix PyRun's executable only needs 11MB, but still supports most Python application and scripts - and it can be further compressed to 3-4MB using upx.

Compared to a regular Python installation of typically 100MB on disk, this makes eGenix PyRun ideal for applications and scripts that need to be distributed to many target machines, client installations or customers.

It makes "installing" Python on a Unix based system as simple as copying a single file.

We have been using the product internally in our mxODBC Connect Server since 2008 with great success and have now extracted it into a stand-alone open-source product.

We provide both the source archive to build your own eGenix PyRun, as well as pre-compiled binaries for Linux, FreeBSD and Mac OS X, as 32- and 64-bit versions.

Please see the product page for more details:

    >>> eGenix PyRun - One file Python Runtime


This is a new minor release of eGenix PyRun, which contains a few important fixes and enhancement based on the user feedback in recent months.

New Features

  • Upgraded eGenix PyRun to work with and use Python 2.7.4 per default.
  • Changed the pyrun default to run in non-optimized mode and added the -O command line option to reenable it. Previous versions of eGenix PyRun used to default to optimized mode, which prevented running tests using e.g. assert with it. The stdlib itself is still frozen in optimized mode.
  • Added support for directly running Python directories and ZIP files with __main__ module. Only works with the Python 2.7 variant.
  • eGenix PyRun now honors symlinks, so symlinked copies of PyRun can be used to save disk space. The installations will still work as expected, i.e. independent of each other.
  • Added new pyrun_release config variable to the pyrun_config module. This allows checking the pyrun release version.
  • Added PyRun release version to the banner and -V output.
  • Added support for the Python -d command line option to pyrun.
  • Added a fix to allow PyRun to compile the sqlite module on Mac OS X 10.4. See for details.
  • Much enhanced documentation, which now also explains the internals and highlights Python modules/packages that are not included in eGenix PyRun.

Other Changes

  • Removed the compiler package from being compiled into PyRun. If needed, it can be installed separately. Note that the compiler package needs the parser module which is not compiled into PyRun either, but is still available as extension module.
  • Removed the Tkinter Python module from being compiled into PyRun. If needed, it can be installed separately. Note that the Tkinter module needs the _tkinter C module, which is not compiled into PyRun either, but is still available as extension module.
  • Fixed sys.argv when using interactive mode to default to [''].
  • All eGenix PyRun distribution packages are now GPG signed with our release key and come with MD5 and SHA1 hashes to check for download corruption.

install-pyrun Quick Installation Enhancements

Since version 1.1.0, eGenix PyRun includes a shell script called install-pyrun, which greatly simplifies installation of eGenix PyRun. It works much like the virtualenv shell script used for creating new virtual environments (except that there's nothing virtual about PyRun environments).

With the script, an eGenix PyRun installation is as simple as running:

./install-pyrun targetdir
We have enhanced this script somewhat since the last release and also added it to the source code distribution of eGenix PyRun:
  • Added new options --distribute-distribution and --pip-distribution to be able to use local distribution files for distribute and pip.
  • Added --debug option to enable debug output.
  • install-pyrun will now try uname -m in case uname -p doesn't return useful information about the platform.
  • install-pyrun will now use HTTPS connections for all tools (pyrun, distribute and pip). SSL certificate checking is enabled per default, but can be turned off using the new --disable-certificate-checks option.
  • Added automatic support for wget to install-pyrun. It is being used if curl is not found on the system.
  • Added new option --platform-list to print a list of available platform strings.

Presentation at EuroPython 2012

Marc-André Lemburg, CEO of eGenix, gave a presentation about eGenix PyRun at EuroPython 2012 last year. The talk video as well as the slides are available on our website:

eGenix PyRun Talk at EuroPython 2012


Please visit the eGenix PyRun product page for downloads, instructions on installation and documentation of the product.

More Information

For more information on eGenix PyRun, licensing and download instructions, please write to

Enjoy !

Marc-Andre Lemburg,

Published: 2013-04-30