diskimage-builder/diskimage_builder/elements/dib-python
Dirk Mueller a81cf9e231 Update test coverage for openSUSE/-minimal to 15.1
Use openSUSE 15.1 as default, which is the latest released stable
openSUSE release.

Remove leftovers for unmaintained openSUSE 42.2 images.

Depends-On: https://review.opendev.org/#/c/660126/
Change-Id: I0b204b7b3d7ae74b6749320b3bfe1ca89d154ebb
2019-06-13 09:20:40 +02:00
..
cleanup.d Clean up dib-python symlink 2017-04-12 14:33:57 +10:00
environment.d Update test coverage for openSUSE/-minimal to 15.1 2019-06-13 09:20:40 +02:00
pre-install.d Release 1.25.2 2017-02-02 11:20:00 +11:00
README.rst Clean up dib-python symlink 2017-04-12 14:33:57 +10:00

==========
dib-python
==========

Adds a symlink to ``/usr/local/bin/dib-python`` which points at either a
``python2`` or ``python3`` executable as appropriate.

In-chroot scripts should use this as their interpreter
(``#!/usr/local/bin/dib-python``) to make scripts that are compatible
with both ``python2`` and ``python3``.  We can not assume
``/usr/bin/python`` exists, as some platforms have started shipping with
only Python 3.

``DIB_PYTHON`` will be exported as the python interpreter.  You should
use this instead of ``python script.py`` (e.g. ``${DIB_PYTHON}
script.py``).  Note you can also call ``/usr/local/bin/dib-python
script.py`` but in some circumstances, such as creating a ``virtualenv``,
it can create somewhat confusing references to ``dib-python`` that
remain in the built image.

This does not install a python if one does not exist, and instead fails.

This also exports a variable ``DIB_PYTHON_VERSION`` which will either be
'2' or '3' depending on the python version which dib-python points to.


.. note::

  The ``dib-python`` interpreter will be removed in ``cleanup.d``.  It
  is only intended for build scripts.