diff --git a/docker/python-builder/scripts/assemble b/docker/python-builder/scripts/assemble index 16da554b10..3d0131605b 100755 --- a/docker/python-builder/scripts/assemble +++ b/docker/python-builder/scripts/assemble @@ -59,7 +59,14 @@ python -m venv /tmp/venv /tmp/venv/bin/pip install -U pip wheel # Install everything so that the wheel cache is populated -# with transitive depends. +# with transitive depends. If a requirements.txt file exists, +# install it directly so that people can use git url syntax +# to do things like pick up patched but unreleased versions +# of dependencies. +if [ -f /tmp/src/requirements.txt ] ; then + /tmp/venv/bin/pip install --cache-dir=/output/wheels -r /tmp/src/requirements.txt + cp /tmp/src/requirements.txt /output/requirements.txt +fi /tmp/venv/bin/pip install --cache-dir=/output/wheels /output/wheels/*whl # Install each of the extras so that we collect all possibly diff --git a/docker/python-builder/scripts/install-from-bindep b/docker/python-builder/scripts/install-from-bindep index 609a666bb2..4733ac9e31 100755 --- a/docker/python-builder/scripts/install-from-bindep +++ b/docker/python-builder/scripts/install-from-bindep @@ -18,6 +18,13 @@ set -e apt-get update apt-get -y install $(cat /output/bindep/run.txt) +# If a requirements.txt file exists, +# install it directly so that people can use git url syntax +# to do things like pick up patched but unreleased versions +# of dependencies. +if [ -f /output/requirements.txt ] ; then + pip install --cache-dir=/output/wheels -r /output/requirements.txt +fi pip install --cache-dir=/output/wheels /output/wheels/*.whl # clean up after ourselves