ANN: eGenix PyRun - One file Python Runtime 2.1.0

Cristiano Cortezia cristiano.cortezia at gmail.com
Tue May 12 09:05:30 EDT 2015


On Monday, May 11, 2015 at 8:59:22 AM UTC-3, eGenix Team: M.-A. Lemburg wrote:
> ________________________________________________________________________
> 
> ANNOUNCING
> 
>                  eGenix PyRun - One file Python Runtime
> 
>                             Version 2.1.0
> 
> 
>          An easy-to-use single file relocatable Python run-time -
>            available for Linux, Mac OS X and Unix platforms,
>                  with support for Python 2.6, 2.7 and
>                        **also for Python 3.4**.
> 
> 
> This announcement is also available on our web-site for online reading:
> http://www.egenix.com/company/news/eGenix-PyRun-2.1.0-GA.html
> 
> ________________________________________________________________________
> 
> 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 eGenix PyRun internally in the mxODBC Connect
> Server product 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 script install-pyrun take care of the
> installation: ./install-pyrun dir and you're done.
> 
> Please see the product page for more details:
> 
>     http://www.egenix.com/products/python/PyRun/
> 
> ________________________________________________________________________
> 
> NEWS
> 
> This major new release of eGenix PyRun 2.1 comes with the following new features and changes:
> 
> New Features
> ------------
> 
>  * Upgraded eGenix PyRun to work with and use Python 2.7.9 per
>    default.
> 
>  * Upgraded eGenix PyRun to work with and use Python 3.4.3 for Python
>    3 support.
> 
>  * Added support for setting rpath on the PyRun binary to make it easy
>    to ship external libraries together with PyRun, without having to
>    set the LD_LIBRARY_PATH variable.
> 
>  * Added special support for egenix-pyopenssl to load its OpenSSL libs
>    during startup.
> 
>  * PyRun allows to disable the new default HTTPS certificate
>    verification (PEP 476) by setting the env var PYRUN_HTTPSVERIFY to
>    0. Default is to apply certificate verification.
> 
>  * Add support for more Python command line options: -s and -3 are
>    ignored, -R raises an error explaining to use the PYTHONHASHSEED
>    env var instead, -B prevents writing of byte code files.This should
>    increase compatibility of PyRun with the standard Python command
>    line interface.
> 
> Enhancements / Changes
> ----------------------
> 
>  * Added patch for Python 2.7.9 and 3.4.3 to make ctypes work again
>    after changes to those versions of Python. See
>    https://bugs.python.org/issue23042 for details.
> 
>  * The PyRun -v command line switch will now be passed to Python and
>    supports setting the level using e.g. -vv for a verbose 2 level.
> 
>  * Disabled user site configurations in PyRun, since these are not
>    needed or wanted for typical PyRun uses and cost startup time.
> 
>  * Optimized sys.path setup a bit. PyRun won't check for a Python
>    build run and will not check lib/site-python on startup anymore.
> 
>  * PyRun for Python 3.4 is no longer compiled to always run in
>    optimized mode. This allows using asserts in tests again.
> 
> Fixes
> -----
> 
>  * Entering "license" in the interactive shell now returns the correct
>    URL for all supported Python versions.
> 
>  * Tilde expansion now works for most arguments of install-pyrun. This
>    wasn't working before due to a bug.
> 
> install-pyrun Quick Install Enhancements
> ---------------------------------------------
> 
> 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).
> 
>     https://downloads.egenix.com/python/install-pyrun
> 
> With the script, an eGenix PyRun installation is as simple as running:
> 
>     ./install-pyrun targetdir
> 
> 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.1.0 and its
>    feature set.
> 
>  * Added -r/--requirements option which allows automatically
>    installing a set of required packages using a requirements file, so
>    you can easily set up a complete Python environment using a single
> 
>    ./install-pyrun -r requirements.txt targetdir
> 
>  * Updated install-pyrun to install pyrun 2.1.0, setuptools 15.2 and
>    pip 1.5.6 per default.
> 
> For a complete list of changes, please see the eGenix PyRun Changelog:
> 
>     http://www.egenix.com/products/python/PyRun/changelog.html
> 
> ________________________________________________________________________
> 
> LICENSE
> 
> eGenix PyRun is distributed under the eGenix.com Public License 1.1.0
> which is an Open Source license similar to the Python license. You can
> use eGenix PyRun in both commercial and non-commercial settings
> without fee or charge.
> 
> Please see our license page for more details:
> 
>     http://www.egenix.com/products/python/PyRun/license.html
> 
> The package comes with full source code.
> 
> ________________________________________________________________________
> 
> DOWNLOADS
> 
> The download archives and instructions for installing eGenix PyRun can
> be found at:
> 
>     http://www.egenix.com/products/python/PyRun/
> 
> As always, we are providing pre-built binaries for all common
> platforms: Windows 32/64-bit, Linux 32/64-bit, FreeBSD 32/64-bit, Mac
> OS X 32/64-bit. Source code archives are available for installation on
> other platforms, such as Solaris, AIX, HP-UX, etc.
> 
> _______________________________________________________________________
> 
> SUPPORT
> 
> Commercial support for this product is available from eGenix.com.
> Please see
> 
>     http://www.egenix.com/services/support/
> 
> for details about our support offerings.
> 
> ________________________________________________________________________
> 
> MORE INFORMATION
> 
> For more information about eGenix PyRun, licensing and download
> instructions, please visit our web-site:
> 
>     http://www.egenix.com/products/python/PyRun/
> 
> About Python (http://www.python.org/):
> 
>     Python is an object-oriented Open Source programming language
>     which runs on all modern platforms. By integrating ease-of-use,
>     clarity in coding, enterprise application connectivity and rapid
>     application design, Python establishes an ideal programming
>     platform for today's IT challenges.
> 
> About eGenix (http://www.egenix.com/):
> 
>     eGenix is a software project, consulting and product company
>     specializing in expert project services and professional quality
>     products for companies, Python users and developers.
> 
> Enjoy,
> -- 
> Marc-Andre Lemburg
> eGenix.com
> 
> Professional Python Services directly from the Source  (#1, May 11 2015)
> >>> Python Projects, Coaching and Consulting ...  http://www.egenix.com/
> >>> mxODBC Plone/Zope Database Adapter ...       http://zope.egenix.com/
> >>> mxODBC, mxDateTime, mxTextTools ...        http://python.egenix.com/
> ________________________________________________________________________
> 
> ::::: Try our mxODBC.Connect Python Database Interface for free ! ::::::
> 
>    eGenix.com Software, Skills and Services GmbH  Pastor-Loeh-Str.48
>     D-40764 Langenfeld, Germany. CEO Dipl.-Math. Marc-Andre Lemburg
>            Registered at Amtsgericht Duesseldorf: HRB 46611
>                http://www.egenix.com/company/contact/

Really interesting. 

Should we consider this to be an improvement towards the slow startup problem ? 

It seems to have really decreased the number of failed attempt to open files (ENOENT's appearing with strace upon startup) due to the interpreter default behavior for module loading on startup. (with a simple hello world I got 72 ENOENT's against 307 from default python installation on my standard ubuntu machine).

This problem mainly shows up when slow access storages are used (say raspberry + sdcard). Any chances you can provide this tool as prebuilt arm binaries ?

My assumptions may be all wrong, but anyway thanks for sharing your work. :)



More information about the Python-list mailing list