Fix caching of editable VCS Pipenv dependencies #1528
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
When installing a VCS dependency in editable mode, the source repository has to be git cloned somewhere, and that location referenced via a
.pth
file added tosite-packages
.Previously, when using Pipenv the default source repository location was used, which is a
src/
directory inside the current working directory. ie:/app/src/
.However, this directory is not preserved/cached across builds, meaning that on the next Pipenv install the repository has to be cloned from scratch.
Now, the source repository location when using Pipenv has been overridden to
/app/.heroku/src/
, which is cached, and matches the location used for Pip projects. This is configured via Pipenv's--extra-pip-args
feature:https://pipenv.pypa.io/en/latest/advanced.html#supplying-additional-arguments-to-pip
Lastly, the standard Pip install invocation args have been tweaked to consistently use quotes and the absolute path.
Fixes #1527.
GUS-W-14764812.