From 0dae54128d45e7be3f1a823cdd8080e7ff536c78 Mon Sep 17 00:00:00 2001 From: Jesse Pretorius Date: Wed, 18 Apr 2018 10:46:05 +0100 Subject: [PATCH] Only replace python when re-initializing the venv We reinitialize the venv to ensure that the right version of python is in the venv, but we do not want virtualenv to also replace pip, setuptools and wheel so we tell it not to. If we don't do this then virtualenv will install the latest available version, which is not what we want. Change-Id: Icc757ac36b298e46c0f257cd8304ac8553b85ee3 Partial-Bug: #1764470 --- tasks/molteniron_install.yml | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/tasks/molteniron_install.yml b/tasks/molteniron_install.yml index 510a7d0..2687ff3 100644 --- a/tasks/molteniron_install.yml +++ b/tasks/molteniron_install.yml @@ -103,11 +103,22 @@ delay: 2 when: molteniron_developer_mode | bool +# NOTE(odyssey4me): +# We reinitialize the venv to ensure that the right +# version of python is in the venv, but we do not +# want virtualenv to also replace pip, setuptools +# and wheel so we tell it not to. +# We do not use --always-copy for CentOS/SuSE due +# to https://github.com/pypa/virtualenv/issues/565 - name: Update virtualenv path shell: | find {{ molteniron_bin }} -name \*.pyc -delete sed -si '1s/^.*python.*$/#!{{ molteniron_bin | replace ('/','\/') }}\/python/' {{ molteniron_bin }}/* - virtualenv {{ molteniron_bin | dirname }} + virtualenv {{ molteniron_bin | dirname }} \ + {{ (ansible_pkg_mgr == 'apt') | ternary('--always-copy', '') }} \ + --no-pip \ + --no-setuptools \ + --no-wheel when: - not molteniron_developer_mode | bool - molteniron_get_venv | changed