Skip to content
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 · Fixed by #2935
Closed

Resolver/lock fail #2879

ipmb opened this issue Sep 21, 2018 · 3 comments · Fixed by #2935

Comments

@ipmb
Copy link

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
Copy link
Member

@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
Copy link
Member

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

@ipmb
Copy link
Author

ipmb commented Sep 24, 2018

Still seeing the issue in 7a696ce

techalchemy added a commit that referenced this issue Oct 7, 2018
- 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 <[email protected]>
techalchemy added a commit that referenced this issue Oct 7, 2018
- 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 <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants