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 to site-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.
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-pipLastly, the standard Pip install invocation args have been tweaked to consistently use quotes and the absolute path.
Fixes #1527. GUS-W-14764812.