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.
Introduction
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.
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.
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.
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:
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: