New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Resolver/lock fail #2879

Closed
ipmb opened this Issue Sep 21, 2018 · 3 comments

Comments

Projects
None yet
3 participants
@ipmb

ipmb commented Sep 21, 2018

Issue description
pipenv install --two celery==3.1.25 flower==0.9.2

Locking fails looking for a suitable amqp library:

Warning: Your dependencies could not be resolved. You likely have a mismatch in your sub-dependencies.
  You can use $ pipenv install --skip-lock to bypass this mechanism, then run $ pipenv graph to inspect the situation.
  Hint: try $ pipenv lock --pre if it is a pre-release dependency.
Could not find a version that matches amqp<2.0,<3.0,>=1.4.9,>=2.1.4
Tried: 0.9.1, 0.9.2, 0.9.3, 0.9.4, 1.0.0, 1.0.1, 1.0.2, 1.0.3, 1.0.4, 1.0.5, 1.0.6, 1.0.7, 1.0.8, 1.0.9, 1.0.10, 1.0.11, 1.0.12, 1.0.13, 1.2.0, 1.2.1, 1.3.0, 1.3.1, 1.3.2, 1.3.3, 1.4.0, 1.4.1, 1.4.2, 1.4.3, 1.4.3, 1.4.4, 1.4.4, 1.4.5, 1.4.5, 1.4.6, 1.4.6, 1.4.7, 1.4.8, 1.4.8, 1.4.9, 1.4.9, 2.0.0, 2.0.0, 2.0.1, 2.0.2, 2.0.2, 2.0.3, 2.0.3, 2.1.0, 2.1.0, 2.1.1, 2.1.1, 2.1.2, 2.1.2, 2.1.3, 2.1.3, 2.1.4, 2.1.4, 2.2.0, 2.2.0, 2.2.1, 2.2.1, 2.2.2, 2.2.2, 2.3.0, 2.3.0, 2.3.1, 2.3.1, 2.3.2, 2.3.2
There are incompatible versions in the resolved dependencies.
Expected result
amqp==1.4.9
anyjson==0.3.3
Babel==2.6.0
backports-abc==0.5
billiard==3.3.0.23
celery==3.1.25
flower==0.9.2
futures==3.2.0
kombu==3.0.37
pytz==2018.5
singledispatch==3.4.0.3
six==1.11.0
tornado==5.1.1

flower depends on celery>=3.1.0. celery==3.1.25 should satisfy that, but it ends up pulling requirements from a more recent version of celery which wants amqp<3.0,>=2.1.4 by way of kombu<5.0,>=4.2.0.

Actual result
$ pipenv lock --clear --verbose
Locking [dev-packages] dependencies...
Locking [packages] dependencies...
using sources: [{u'url': u'https://pypi.org/simple', u'verify_ssl': True, u'name': u'pypi'}]
Using pip: -i https://pypi.org/simple

                          ROUND 1
Current constraints:
  celery==3.1.25 (from -r /tmp/pipenv-RRj9zz-requirements/pipenv-pSJQfk-constraints.txt (line 2))
  flower==0.9.2 (from -r /tmp/pipenv-RRj9zz-requirements/pipenv-pSJQfk-constraints.txt (line 3))

Finding the best candidates:
  found candidate celery==3.1.25 (constraint was ==3.1.25)
  found candidate flower==0.9.2 (constraint was ==0.9.2)

Finding secondary dependencies:
  flower==0.9.2 not in cache, need to check index
  flower==0.9.2             requires amqp<3.0,>=2.1.4, babel>=1.0, billiard<3.6.0,>=3.5.0.2, celery>=3.1.0, flower==0.9.2, futures, kombu<5.0,>=4.2.0, pytz, tornado>=4.2.0, vine>=1.1.3
  celery==3.1.25 not in cache, need to check index
  celery==3.1.25            requires amqp<2.0,>=1.4.9, anyjson>=0.3.3, billiard<3.4,>=3.3.0.23, celery==3.1.25, kombu<3.1,>=3.0.37, pytz>dev

New dependencies found in this round:
  adding [u'amqp', '<2.0,<3.0,>=1.4.9,>=2.1.4', '[]']
  adding [u'anyjson', '>=0.3.3', '[]']
  adding [u'babel', '>=1.0', '[]']
  adding [u'billiard', '<3.4,<3.6.0,>=3.3.0.23,>=3.5.0.2', '[]']
  adding [u'celery', '==3.1.25,>=3.1.0', '[]']
  adding [u'flower', '==0.9.2', '[]']
  adding [u'futures', '', '[]']
  adding [u'kombu', '<3.1,<5.0,>=3.0.37,>=4.2.0', '[]']
  adding [u'pytz', '>dev', '[]']
  adding [u'tornado', '>=4.2.0', '[]']
  adding [u'vine', '>=1.1.3', '[]']
Removed dependencies in this round:
Unsafe dependencies in this round:
------------------------------------------------------------
Result of round 1: not stable

                          ROUND 2
Current constraints:
  amqp<2.0,<3.0,>=1.4.9,>=2.1.4
  anyjson>=0.3.3
  babel>=1.0
  billiard<3.4,<3.6.0,>=3.3.0.23,>=3.5.0.2
  celery==3.1.25,>=3.1.0 (from -r /tmp/pipenv-RRj9zz-requirements/pipenv-pSJQfk-constraints.txt (line 2))
  flower==0.9.2 (from -r /tmp/pipenv-RRj9zz-requirements/pipenv-pSJQfk-constraints.txt (line 3))
  futures
  kombu<3.1,<5.0,>=3.0.37,>=4.2.0
  pytz>dev
  tornado>=4.2.0
  vine>=1.1.3

Finding the best candidates:
Using pip: -i https://pypi.org/simple

                          ROUND 1
Current constraints:
  celery==3.1.25 (from -r /tmp/pipenv-RRj9zz-requirements/pipenv-oPIyzF-constraints.txt (line 2))
  flower==0.9.2 (from -r /tmp/pipenv-RRj9zz-requirements/pipenv-oPIyzF-constraints.txt (line 3))

Finding the best candidates:
  found candidate celery==3.1.25 (constraint was ==3.1.25)
  found candidate flower==0.9.2 (constraint was ==0.9.2)

Finding secondary dependencies:
  flower==0.9.2 not in cache, need to check index
  flower==0.9.2             requires amqp<3.0,>=2.1.4, babel>=1.0, billiard<3.6.0,>=3.5.0.2, celery>=3.1.0, flower==0.9.2, futures, kombu<5.0,>=4.2.0, pytz, tornado>=4.2.0, vine>=1.1.3
  celery==3.1.25 not in cache, need to check index
  celery==3.1.25            requires amqp<2.0,>=1.4.9, anyjson>=0.3.3, billiard<3.4,>=3.3.0.23, celery==3.1.25, kombu<3.1,>=3.0.37, pytz>dev

New dependencies found in this round:
  adding [u'amqp', '<2.0,<3.0,>=1.4.9,>=2.1.4', '[]']
  adding [u'anyjson', '>=0.3.3', '[]']
  adding [u'babel', '>=1.0', '[]']
  adding [u'billiard', '<3.4,<3.6.0,>=3.3.0.23,>=3.5.0.2', '[]']
  adding [u'celery', '==3.1.25,>=3.1.0', '[]']
  adding [u'flower', '==0.9.2', '[]']
  adding [u'futures', '', '[]']
  adding [u'kombu', '<3.1,<5.0,>=3.0.37,>=4.2.0', '[]']
  adding [u'pytz', '>dev', '[]']
  adding [u'tornado', '>=4.2.0', '[]']
  adding [u'vine', '>=1.1.3', '[]']
Removed dependencies in this round:
Unsafe dependencies in this round:
------------------------------------------------------------
Result of round 1: not stable

                          ROUND 2
Current constraints:
  amqp<2.0,<3.0,>=1.4.9,>=2.1.4
  anyjson>=0.3.3
  babel>=1.0
  billiard<3.4,<3.6.0,>=3.3.0.23,>=3.5.0.2
  celery==3.1.25,>=3.1.0 (from -r /tmp/pipenv-RRj9zz-requirements/pipenv-oPIyzF-constraints.txt (line 2))
  flower==0.9.2 (from -r /tmp/pipenv-RRj9zz-requirements/pipenv-oPIyzF-constraints.txt (line 3))
  futures
  kombu<3.1,<5.0,>=3.0.37,>=4.2.0
  pytz>dev
  tornado>=4.2.0
  vine>=1.1.3

Finding the best candidates:

Warning: Your dependencies could not be resolved. You likely have a mismatch in your sub-dependencies.
  You can use $ pipenv install --skip-lock to bypass this mechanism, then run $ pipenv graph to inspect the situation.
  Hint: try $ pipenv lock --pre if it is a pre-release dependency.
Could not find a version that matches amqp<2.0,<3.0,>=1.4.9,>=2.1.4
Tried: 0.9.1, 0.9.2, 0.9.3, 0.9.4, 1.0.0, 1.0.1, 1.0.2, 1.0.3, 1.0.4, 1.0.5, 1.0.6, 1.0.7, 1.0.8, 1.0.9, 1.0.10, 1.0.11, 1.0.12, 1.0.13, 1.2.0, 1.2.1, 1.3.0, 1.3.1, 1.3.2, 1.3.3, 1.4.0, 1.4.1, 1.4.2, 1.4.3, 1.4.3, 1.4.4, 1.4.4, 1.4.5, 1.4.5, 1.4.6, 1.4.6, 1.4.7, 1.4.8, 1.4.8, 1.4.9, 1.4.9, 2.0.0, 2.0.0, 2.0.1, 2.0.2, 2.0.2, 2.0.3, 2.0.3, 2.1.0, 2.1.0, 2.1.1, 2.1.1, 2.1.2, 2.1.2, 2.1.3, 2.1.3, 2.1.4, 2.1.4, 2.2.0, 2.2.0, 2.2.1, 2.2.1, 2.2.2, 2.2.2, 2.3.0, 2.3.0, 2.3.1, 2.3.1, 2.3.2, 2.3.2
There are incompatible versions in the resolved dependencies.
Warning: Your dependencies could not be resolved. You likely have a mismatch in your sub-dependencies.
  You can use $ pipenv install --skip-lock to bypass this mechanism, then run $ pipenv graph to inspect the situation.
  Hint: try $ pipenv lock --pre if it is a pre-release dependency.
Could not find a version that matches amqp<2.0,<3.0,>=1.4.9,>=2.1.4
Tried: 0.9.1, 0.9.2, 0.9.3, 0.9.4, 1.0.0, 1.0.1, 1.0.2, 1.0.3, 1.0.4, 1.0.5, 1.0.6, 1.0.7, 1.0.8, 1.0.9, 1.0.10, 1.0.11, 1.0.12, 1.0.13, 1.2.0, 1.2.1, 1.3.0, 1.3.1, 1.3.2, 1.3.3, 1.4.0, 1.4.1, 1.4.2, 1.4.3, 1.4.3, 1.4.4, 1.4.4, 1.4.5, 1.4.5, 1.4.6, 1.4.6, 1.4.7, 1.4.8, 1.4.8, 1.4.9, 1.4.9, 2.0.0, 2.0.0, 2.0.1, 2.0.2, 2.0.2, 2.0.3, 2.0.3, 2.1.0, 2.1.0, 2.1.1, 2.1.1, 2.1.2, 2.1.2, 2.1.3, 2.1.3, 2.1.4, 2.1.4, 2.2.0, 2.2.0, 2.2.1, 2.2.1, 2.2.2, 2.2.2, 2.3.0, 2.3.0, 2.3.1, 2.3.1, 2.3.2, 2.3.2
There are incompatible versions in the resolved dependencies.
Steps to replicate
pipenv install --two celery==3.1.25 flower==0.9.2

$ pipenv --support

Pipenv version: '2018.7.1'

Pipenv location: '/usr/local/lib/python2.7/dist-packages/pipenv'

Python location: '/usr/bin/python'

Other Python installations in PATH:

  • 2.7: /usr/bin/python2.7

  • 2.7: /usr/bin/python2.7

  • 3.5: /usr/bin/python3.5m

  • 3.5: /usr/bin/python3.5

  • 2.7.12: /usr/bin/python

  • 2.7.12: /usr/bin/python2

  • 3.5.2: /usr/bin/python3

PEP 508 Information:

{'implementation_name': 'cpython',
 'implementation_version': '0',
 'os_name': 'posix',
 'platform_machine': 'x86_64',
 'platform_python_implementation': 'CPython',
 'platform_release': '4.4.0-1049-aws',
 'platform_system': 'Linux',
 'platform_version': '#58-Ubuntu SMP Fri Jan 12 23:17:09 UTC 2018',
 'python_full_version': '2.7.12',
 'python_version': '2.7',
 'sys_platform': 'linux2'}

System environment variables:

  • PYTHONDONTWRITEBYTECODE
  • LESSOPEN
  • SSH_CLIENT
  • LOGNAME
  • USER
  • PATH
  • HOME
  • LANG
  • TERM
  • SHELL
  • SHLVL
  • XDG_RUNTIME_DIR
  • PIP_PYTHON_PATH
  • XDG_SESSION_ID
  • _
  • SSH_CONNECTION
  • LESSCLOSE
  • SSH_TTY
  • OLDPWD
  • XDG_DATA_DIRS
  • PWD
  • MAIL
  • LS_COLORS

Pipenv–specific environment variables:

Debug–specific environment variables:

  • PATH: /home/ubuntu/bin:/home/ubuntu/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin
  • SHELL: /bin/bash
  • LANG: en_US.UTF-8
  • PWD: /home/ubuntu/tmp

Contents of Pipfile ('/home/ubuntu/tmp/Pipfile'):

[[source]]
url = "https://pypi.org/simple"
verify_ssl = true
name = "pypi"

[dev-packages]

[packages]
celery = "==3.1.25"
flower = "==0.9.2"

[requires]
python_version = "2.7"
@vphilippon

This comment has been minimized.

Member

vphilippon commented Sep 21, 2018

@techalchemy The dependency resolve of flower==0.9.2 outputs amqp<3.0,>=2.1.4, but that doesn't seem to be a direct dependency of flower. Is this caused by the issue you mentioned where using resolver._resolve_one (aka using the update done in pip-tools) would fix it?

@techalchemy

This comment has been minimized.

Member

techalchemy commented Sep 21, 2018

Definitely possible, is that fixed in master here? If so, can someone confirm?

@ipmb

This comment has been minimized.

ipmb commented Sep 24, 2018

Still seeing the issue in 7a696ce

techalchemy added a commit that referenced this issue Oct 7, 2018

Add news fragments and final patch for all fixes
- Fixes #2499
- Fixes #2529
- Fixes #2589
- Fixes #2666
- Fixes #2767
- Fixes #2785
- Fixes #2795
- Fixes #2801
- Fixes #2802
- Fixes #2824
- Fixes #2862
- Fixes #2867
- Fixes #2879
- Fixes #2880
- Fixes #2894
- Fixes #2902
- Fixes #2924

Signed-off-by: Dan Ryan <dan@danryan.co>

techalchemy added a commit that referenced this issue Oct 7, 2018

Add news fragments and final patch for all fixes
- Fixes #2499
- Fixes #2529
- Fixes #2589
- Fixes #2666
- Fixes #2767
- Fixes #2785
- Fixes #2795
- Fixes #2801
- Fixes #2802
- Fixes #2824
- Fixes #2862
- Fixes #2867
- Fixes #2879
- Fixes #2880
- Fixes #2894
- Fixes #2902
- Fixes #2924

Signed-off-by: Dan Ryan <dan@danryan.co>

GilbertoCS added a commit to GilbertoCS/pipenv that referenced this issue Oct 15, 2018

Add news fragments and final patch for all fixes
- Fixes pypa#2499
- Fixes pypa#2529
- Fixes pypa#2589
- Fixes pypa#2666
- Fixes pypa#2767
- Fixes pypa#2785
- Fixes pypa#2795
- Fixes pypa#2801
- Fixes pypa#2802
- Fixes pypa#2824
- Fixes pypa#2862
- Fixes pypa#2867
- Fixes pypa#2879
- Fixes pypa#2880
- Fixes pypa#2894
- Fixes pypa#2902
- Fixes pypa#2924

Signed-off-by: Dan Ryan <dan@danryan.co>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment