When working on a team project in git, it is important to ensure the python interpreter in a branch is deterministic. If I have updated django, say, in branch update-django-to-21
and I need to go back to master to create a hotfix branch, I'll definitely need to run pipenv sync
to ensure that the appropriate version of django is being used in the hotfix branch. We have, in fact, used a post-checkout githook to enforce this. The problem is that git sync is so slow...
It'd be excellent if there was a way to compare the current modules to the current Pipfile.lock to determine what, if anything, must be upgraded and then to only install the dependencies that are different.
The alternative is to simply install everything from the lock file every time you checkout a different branch (or any other checkout like git checkout -- foo.py
to unstage the changes in foo.py).
pipenv 2018.11.26
python 3.6.6
Sorry, we aren't allowed to post the output of pipenv --support
to the public. I can share it privately if required.
agree, and this is also totally doable, just haven't got around to it yet. This is a good suggestion though. I'm pretty sure there is another issue open on the same topic, i'll find it and triage both so we can keep whichever one has the best explanation
@techalchemy #3057 is somewhat related (it's about "pipenv sync" being tremendously slow in general).
Most helpful comment
agree, and this is also totally doable, just haven't got around to it yet. This is a good suggestion though. I'm pretty sure there is another issue open on the same topic, i'll find it and triage both so we can keep whichever one has the best explanation