Please note that we have relaunched eGenix PyRun on Github
and are still updating our website and documentation to the new
version. Some references may not be up to date with the new version
2.6.0 yet. The new version uses different project layout and was changed
to support building multiple versions from a single source.
eGenix PyRun™ is our open source, one file, no installation version of Python, making the distribution of a Python interpreter to run Python based scripts and applications to Unix based systems simple and efficient.
eGenix PyRun's executable only needs 4-6MB on disk, but still supports most Python applications and scripts.
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 containers, VMs, clusters, client installations, customers or end-users.
It makes "installing" Python on a Unix based system as simple as copying a single file.
eGenix has been using eGenix PyRun as run-time for the Linux version of mxODBC Connect Server product since 2008 with great success and decided to make it available as a stand-alone open-source product.
We provide the source archive to build your own eGenix PyRun on Github,
as well as a few binary distributions to get you started on Linux
x86_64. In the future, we will set up automated builds for several other
platforms.
If you'd like to learn more about eGenix PyRun, please see the talk we gave at the EuroPython 2024 conference in Prague. The talk video is available on YouTube:
eGenix PyRun Talk at EuroPython 2024
eGenix PyRun needs these third party tools to be available on the target machines:
Future versions of PyRun will add more flexibility to the build process to make the requirements more customizable.
If you want to compile PyRun yourself, you will need the development packages of the above tools, a C compiler and a GNU make compatible make installed.
Please note that the binary versions of these libraries also need to
be available on the PyRun installation target systems. Most modern
Unix systems have the above libraries installed per default.
eGenix PyRun is covered by the Apache v2 License. See the eGenix PyRun license page for more details.
In simple words, you are free to use the software without paying fees or royalties as long as you give proper attribution and keep the license documents together with the software. Please see the license document for details and consult a lawyer if you have legal questions.
The following documentation is available for eGenix PyRun:
eGenix PyRun README - on Github
This provides the most up to date documentation for more recent versions.
eGenix PyRun User Manual and Reference Guide - HTML and PDF
The manual includes a usage guide, an explanation of the build procedure and discusses a few common use cases.
Please note that the manual and
reference guide was written for older versions of PyRun. We're working
on improving it for one of the next releases. The new PyRun versions
also use a different project layout. It was changed to support building
multiple versions from a single source, so references to e.g. a PyRun/ directory are no longer valid.
For details on how to use Python via eGenix PyRun, please refer to the official Python documentation.
You can use any of the available Python books to learn to use Python with PyRun.
We currently only provide the source repository, source archives and binaries for a few select platforms on the Github eGenix PyRun Release page.
In the future, we will set up automated builds for several other platforms.
If you need binaries for platforms not mentioned here, please contact support@egenix.com for details. It is very likely that we can find a way to help you.
For full details on how to install, setup and configure eGenix PyRun, please see the eGenix PyRun User Manual. It is available as PDF for offline reading and HTML for online reading:
eGenix PyRun User Manual and Reference Guide - HTML and PDF
If you want to ship your product with PyRun and need external libraries for PyRun to link against, simply place them into the same directory as the PyRun executable. PyRun comes with an rpath setting to first look in the PyRun binary's directory for share libraries to simplify this often needed setup.
For more details, please see the documentation.
If you want to install other libraries or packages for use in eGenix PyRun, you need to pay a little more attention to where you copy the executable. eGenix PyRun assumes the following directory layout relative to the executable (with X.X being the underlying Python version, e.g. 3.11):
bin/pyrun3.X
lib/python3.X
include/python3.X
The lib/python3.X
directory is used as location of the Python
libraries and automatically put on sys.path
in case it is available. Optional packages installed through distutils or setuptools will go into the corresponding lib/python3.X/site-packages/
directory.
The lib/python3.X
directory may also contain Python standard library extension modules in the lib-dynload/
sub-directory which are not integrated into the eGenix PyRun
executable. The binary distribution archives come with a set of
such extensions.
The include/
directory is only needed in case you want to
compile Python C extensions. It is available as
part of the binary distribution archives we make available.
In order to build your own version, simply download the above source archive, untar/unzip it to a temporary directory and follow these steps:
cd egenix-pyrun-*
make
make install
This will download the Python source distribution and start a build
of eGenix PyRun. The result will be installed to the directory /usr/local/
using the directory layout as described above.
If you'd like to build a binary distribution archive, use the following commands instead:
cd egenix-pyrun-*
make distribution
You can then pick up the distribution archive from the dist/
directory.
If you would rather install to a different directory, you can add the make parameter PREFIX=/path/to/pyrun/
, This will cause make to install eGenix PyRun in /path/to/pyrun/
.
If you want to build against a specific Python version, you can specify the version using the make parameter PYTHONFULLVERSION=3.11.9
. Please have a look at the Makefile
for more ways of customizing the setup.
For future versions of eGenix PyRun, we plan to make the setup
customizable via a top-level setup.py file so you can use Python to
trigger the build, customize the included standard lib extension modules
and installation.
eGenix offers these support options:
Professional level support for this product as well as all other eGenix products and Python itself is available directly from the developers at eGenix.com.
eGenix.com offers professional consulting services for all questions and tasks around this product, including customized modifications, help with integration and on-site problem solving. Please contact sales@egenix.com for details.
In order for our users to keep in touch and be able to help themselves, we have created the egenix-users user mailing list.
eGenix PyRun has been in use in production as part of our mxODBC Connect Server client-server database product for many years.
We are pleased to make it available to a wide public.
Please see the change log for details regarding changes to the package between releases.
Older versions of eGenix PyRun, which are still available: