Raise default PIPENV_MAX_DEPTH to 10 #6214
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.
Currently pipenv will only look up 2 directory levels (default is now set to 3, but behaviorally this includes the root directory!) for a Pipfile. That means if you are in
/src/myfeature/test
and you use pipenv, it will not find the virtualenv for/Pipfile
, but assume/create a new one.Why make the change?
pipenv run
should work the same run anywhere in a repo. Evenpipenv
itself's repo has sub-directories deeper than 2 levels. Figuring out what broke and why takes debugging time and causes confusion.bundle exec
from ruby (I believe bundle exec actually has an infinite depth, but its closer!)Why not make the change?
0.3 ms
on my system (benchmarkedfind_pipfile(max_depth=10)
)pipenv install
on a repo that does not yet have a Pipfile: i.e. it only slows down "Pipfile not found" behavior, and it avoids erroneous "not founds".Alternatives considered
src/subproject/test
and we're already there, as.
is included in the max depth count), I can't remember seeing a repo that was 10 levels deep. Its still out there, somebody will get broken, but the long tail is now much much rarer (compare to 3 levels, which I bet most popular repos exceed).The checklist
news/
directory to describe this fix with the extension.bugfix.rst
,.feature.rst
,.behavior.rst
,.doc.rst
..vendor.rst
. or.trivial.rst
(this will appear in the release changelog). Use semantic line breaks and name the file after the issue number or the PR #.