From cbb718bb8b7da2b3fcee38ce01914eb0be60797a Mon Sep 17 00:00:00 2001 From: Ed Morley <edmorley@users.noreply.github.com> Date: Wed, 14 Jun 2017 22:15:52 +0100 Subject: [PATCH] Fix pip uninstall by moving it prior to pip install (#413) The pip-uninstall step stopped working when it was moved to after the pip-install step in f27a84e. This regression was temporarily fixed by part of #397, however that PR was reverted in #404. Adds a test to hopefully catch any future regressions :-) Fixes #393. --- CHANGELOG.md | 4 ++++ bin/compile | 10 +++++----- test/run | 10 ++++++++++ 3 files changed, 19 insertions(+), 5 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 99454ba7..9dee4a8f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,9 @@ # Python Buildpack Changelog +# Unreleased + +Fixed automatic pip uninstall of dependencies removed from requirements.txt. + # 109 Fix output for collectstatic step. diff --git a/bin/compile b/bin/compile index 6e16a855..6351c244 100755 --- a/bin/compile +++ b/bin/compile @@ -170,16 +170,16 @@ sub-env $BIN_DIR/steps/geo-libs # GDAL support. source $BIN_DIR/steps/gdal -# Install dependencies with Pip (where the magic happens). -let start=$(nowms) -source $BIN_DIR/steps/pip-install -mtime "pip.install.time" "${start}" - # Uninstall removed dependencies with Pip. let start=$(nowms) source $BIN_DIR/steps/pip-uninstall mtime "pip.uninstall.time" "${start}" +# Install dependencies with Pip (where the magic happens). +let start=$(nowms) +source $BIN_DIR/steps/pip-install +mtime "pip.install.time" "${start}" + # Support for NLTK corpora. let start=$(nowms) sub-env $BIN_DIR/steps/nltk diff --git a/test/run b/test/run index 4185388d..1e66072a 100755 --- a/test/run +++ b/test/run @@ -62,6 +62,16 @@ testPython3() { assertCapturedSuccess } +testSmartRequirements() { + local cache_dir="$(mktmpdir)" + compile "requirements-standard" "$cache_dir" + assertFile "requests" ".heroku/python/requirements-declared.txt" + assertCapturedSuccess + compile "psycopg2" "$cache_dir" + assertCaptured "Uninstalling requests" + assertFile "psycopg2" ".heroku/python/requirements-declared.txt" + assertCapturedSuccess +} -- GitLab