
This makes ensure-pip export something that should be sensible for users of pip: to put in their 'virtualenv_command' for their host. The theory of operation is fairly simple; see if "python3 -m venv" looks like it works, and set that as the command if it does. If not, set "virtualenv". For sanity, we check if it works. We pull in virtualenv in the Python 2 case, but for Python 3 we are deliberately do not bring it as it is an unnecessary dependency. If jobs do require the actual `virtualenv` package, they should provision it themselves ... except for Xenial, which, as described inline, has issues. Follow-on changes will convert existing zuul-jobs roles that install tools into virtualenvs to use this argument. Change-Id: Idad14c0e77eed5bf8df2c8f84f52fbdea2236a9f
Ensure pip is available
This role is intended install the requirements for the pip module on hosts.
Jobs that also wish to call pip
via shell commands
directly can also use this to ensure pip
is available.
However, it should be noted that calling pip
is ambiguous
when supporting many platforms. On some platforms it may install the
package under the Python 2 interpreter and in others Python 3. You
should use a qualified name (pip2
or pip3
) to
avoid confusion.
Role Variables