eGenix PyRun - One file Python Runtime 2.0.0 GA

Introduction

eGenix PyRun™
is our open source, one file, no installation version of Python, making the
distribution of a Python interpreter to run based scripts and
applications to Unix based systems as simple as copying a single file.

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

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

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

eGenix has been using the product internally in the mxODBC Connect Server
since 2008 with great success and decided to make it available as 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. The binaries can be downloaded manually, or you can let our automatic install scriptinstall-pyrun take care of the installation: ./install-pyrun dir and you're done.

New Features

Enabled the lib2to3 package to work with eGenix PyRun. This
allows on-the-fly Python 3 conversions as used by e.g. the setuptools
package to work with eGenix PyRun.

Frozen modules in eGenix PyRun now always have the __file__ attribute
set - unlike in standard Python. This increases compatibility of pyrun with existing Python software. Submitted as http://bugs.python.org/issue21736

Added work-around for getting runpy.run_path() to work with frozen
modules in Python 3. This is needed to be able to run packages and ZIP
files directly from the command line. Submitted as http://bugs.python.org/issue21737

eGenix PyRun includes a shell script called install-pyrun,
which greatly simplifies installation of 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:

This will automatically detect the platform, download and install the right pyrun version into targetdir.

We have updated this script since the last release:

Updated install-pyrun to default to eGenix PyRun 2.0.0 and its feature set.

install-pyrun will no longer install the latest versions of pip and setuptools
due to recent incompatible changes in those packages. Instead, the
script uses fixed defaults and makes it easy to override them.

install-pyrun now uses pip 1.4.1 and setuptools 2.1 per default instead of the latest versions for better backwards compatibility with packages not hosted on PyPI.

install-pyrun can optionally fetch the latest versions of pip and setuptools by using "latest" as version number for --pip-version and --setuptools-version.

install-pyrun script is now available in signed and hashed form for additional security.