239ace0ebf
It looks like 9-stream don't want to support virtualenv. Fail the ensure-virtualenv role on this platform, and account for this in testing. People should use ensure-pip and venv which is portable everywhere. Change-Id: Ifae93c1eeb96792aa26a624574d595d77cb58c4b |
||
---|---|---|
.. | ||
tasks | ||
README.rst |
Ensure virtualenv is available
This role installs the requirements for the virtualenv
command on the current distribution.
Users should be aware of some portability issues when using
virtualenv
:
- Distributions differ on the interpreter that
virtualenv
is provided by, so by callingvirtualenv
with no other arguments means that on some platforms you will get a Python 2 environment and others a Python 3 environment. - If you wish to call
virtualenv
as a module (e.g.python -m virtualenv
) you will need to know which interpreter owns thevirtualenv
package for your distribution; e.g. on some, such as Bionic,virtualenv
is provided bypython3-virtualenv
butpython
refers to Python 2, sopython -m virtualenv
is not a portable way to callvirtualenv
. virtualenv -p python3
is likely the most portable way to consistently get a Python 3 environment.virtualenv -p python2
may not work on some platforms without Python 2.- If you use Python 3 and do not require the specific features of
virtualenv
, it is likely easier to use Python's inbuiltpython3 -m venv
module to create an isolated environment. If you are usingpip:
in your Ansible roles and require an environment, see the documentation for :zuulensure-pip
.