diskimage-builder/diskimage_builder/elements/dib-python
Ian Wienand ffd4820d59 Install pip with python interpreter
Currently we install pip/virtualenv with "/usr/local/bin/dib-python".
This means that every time you create a virtualenv, the python
interpreter inside it is called "dib-python" which is confusing.

Add an env var DIB_PYTHON that points directly the to interpreter
available during build, for use when running scripts.

Change-Id: I88ad3c9eb958d58db4631d9b27bc2c592f970345
2017-04-11 18:59:09 +10:00
..
environment.d Install pip with python interpreter 2017-04-11 18:59:09 +10:00
pre-install.d Release 1.25.2 2017-02-02 11:20:00 +11:00
README.rst Install pip with python interpreter 2017-04-11 18:59:09 +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.