[PATCH 1/4] pyenv: also install requirements for python2

Daniel Axtens dja at axtens.net
Wed Jan 29 00:55:20 AEDT 2020

The first time you do a migration with python3, you get a whole
lot of seemingly null changes. This is a bit annoying so I use
py2 to generate the changes. To do that, first fix the pyenv
transition so requirements are still installed for python2.

Signed-off-by: Daniel Axtens <dja at axtens.net>


We probably do want this for 2.2: if we ever need to do development
on it, or if we want to merge any changes before we merge the py27
dropping code, it will be handy to have.

 tools/docker/Dockerfile | 16 ++++++++++++----
 1 file changed, 12 insertions(+), 4 deletions(-)

diff --git a/tools/docker/Dockerfile b/tools/docker/Dockerfile
index 5ef11203e850..942c2c3cc839 100644
--- a/tools/docker/Dockerfile
+++ b/tools/docker/Dockerfile
@@ -51,14 +51,22 @@ RUN pyenv latest install 2.7 && \
     pyenv latest install 3.6 && \
     pyenv latest install 3.7 && \
     pyenv latest install 3.8
-RUN pyenv global $(pyenv versions --bare | tac)
-RUN pip install tox tox-pyenv
 # we deliberately leave the requirements files in /opt so we can ping the user
 # in entrypoint.sh if they change
 COPY requirements-dev.txt requirements-test.txt /opt/
-RUN pip install -r /opt/requirements-dev.txt
+# old python 2.7 deps
+RUN pyenv global $(pyenv versions --bare)
+RUN pip install tox tox-pyenv && \
+    pip install -r /opt/requirements-dev.txt
+# most recent python deps
+RUN pyenv global $(pyenv versions --bare | tac)
+RUN pip install tox tox-pyenv && \
+    pip install -r /opt/requirements-dev.txt
 COPY tools/docker/entrypoint.sh /usr/local/bin/entrypoint.sh
 ENTRYPOINT ["/usr/local/bin/entrypoint.sh"]

More information about the Patchwork mailing list