diskimage-builder/diskimage_builder/elements/dib-python/README.rst
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

25 lines
993 B
ReStructuredText

==========
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.