Editable dependency requirements sometimes override top-level ones #3296
Labels
Category: Dependency Resolution
Issue relates to dependency resolution.
Type: Bug 🐛
This issue is a bug.
Type: Regression
This issue is a regression of a previous behavior.
Type: Release Blocker
Must be resolved before the next release can be cut.
Milestone
Issue description
I'm not 100% sure how this is happening, but when locking a Pipfile that includes an editable requirement, sometimes the requirements from that dependency are "preferred" (i.e., overwrite) the top-level requirements for dependencies.
An example is probably the best illustration:
Pipfile
Result from calling
pyenv exec pipenv lock
:Expected result
The version of
urllib3
should be1.21.1
.Actual result
The version of
urllib3
is1.22
.Steps to replicate
Included in description. Happens on 3ce1394.
$ pipenv --support
Pipenv version:
'2018.11.15.dev0'
Pipenv location:
'/Users/greysteil/code/dependabot-script/.bundle/bundler/gems/dependabot-core-df7316130ca8/helpers/python/src/pipenv/pipenv'
Python location:
'/Users/greysteil/.pyenv/versions/3.6.6/bin/python'
Python installations found:
3.7.0
:/Users/greysteil/.pyenv/versions/3.7.0/bin/python3
3.7.0
:/Users/greysteil/.pyenv/versions/3.7.0/bin/python3.7m
3.6.7
:/Users/greysteil/.pyenv/versions/3.6.7/bin/python3
3.6.7
:/Users/greysteil/.pyenv/versions/3.6.7/bin/python3.6m
3.6.6
:/Users/greysteil/.pyenv/versions/3.6.6/bin/python3
3.6.6
:/Users/greysteil/.pyenv/versions/3.6.6/bin/python3.6m
3.6.5
:/Users/greysteil/.pyenv/versions/3.6.5/bin/python3
3.6.5
:/Users/greysteil/.pyenv/versions/3.6.5/bin/python3.6m
3.6.5
:/usr/local/bin/python3
3.6.5
:/usr/local/bin/python3.6m
3.6.2
:/Users/greysteil/.pyenv/versions/3.6.2/bin/python3
3.6.2
:/Users/greysteil/.pyenv/versions/3.6.2/bin/python3.6m
3.6.1
:/Users/greysteil/.pyenv/versions/3.6.1/bin/python3
3.6.1
:/Users/greysteil/.pyenv/versions/3.6.1/bin/python3.6m
3.5.0
:/Users/greysteil/.pyenv/versions/3.5.0/bin/python3
3.5.0
:/Users/greysteil/.pyenv/versions/3.5.0/bin/python3.5m
2.7.15
:/Users/greysteil/.pyenv/versions/2.7.15/bin/python
2.7.14
:/Users/greysteil/.pyenv/versions/2.7.14/bin/python
2.7.10
:/usr/bin/python
2.7.10
:/usr/bin/pythonw
2.7.10
:/usr/bin/python2.7
PEP 508 Information:
System environment variables:
TERM_PROGRAM
PYENV_ROOT
TERM
SHELL
CLICOLOR
TMPDIR
Apple_PubSub_Socket_Render
TERM_PROGRAM_VERSION
TERM_SESSION_ID
PYENV_VERSION
USER
SSH_AUTH_SOCK
PYENV_DIR
LSCOLORS
PATH
PWD
EDITOR
LANG
PYENV_HOOK_PATH
XPC_FLAGS
RBENV_SHELL
XPC_SERVICE_NAME
HOME
SHLVL
LOGNAME
__CF_USER_TEXT_ENCODING
PIP_DISABLE_PIP_VERSION_CHECK
PYTHONDONTWRITEBYTECODE
PIP_SHIMS_BASE_MODULE
PIP_PYTHON_PATH
PYTHONFINDER_IGNORE_UNSUPPORTED
Pipenv–specific environment variables:
Debug–specific environment variables:
PATH
:/Users/greysteil/.pyenv/versions/3.6.6/bin:/usr/local/Cellar/pyenv/1.2.8/libexec:/Users/greysteil/.pyenv/plugins/pyenv-virtualenv/bin:/Users/greysteil/.pyenv/plugins/pyenv-update/bin:/Users/greysteil/.pyenv/plugins/pyenv-installer/bin:/Users/greysteil/.pyenv/plugins/pyenv-doctor/bin:/Users/greysteil/.poetry/bin:/Users/greysteil/.config/yarn/global/node_modules/.bin:/Users/greysteil/.poetry/bin::/Users/greysteil/go/bin::/usr/local/opt/erlang@20/bin:/Users/greysteil/.pyenv/bin:/Users/greysteil/.cargo/bin:/usr/local/heroku/bin:/Users/greysteil/.rbenv/shims:/usr/local/bin:./node_modules/.bin:.bundle/binstubs:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Library/TeX/texbin:/usr/local/go/bin:/Library/Frameworks/Mono.framework/Versions/Current/Commands:/usr/local/git/bin:/usr/local/sbin
SHELL
:/bin/bash
EDITOR
:subl -w
LANG
:en_GB.UTF-8
PWD
:/Users/greysteil/code/python-test
Contents of
Pipfile
('/Users/greysteil/code/python-test/Pipfile'):Contents of
Pipfile.lock
('/Users/greysteil/code/python-test/Pipfile.lock'):The text was updated successfully, but these errors were encountered: