Skip to content

Resolver/lock fail #2879

Closed
Closed

Description

@ipmb
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"

Activity

  1. vphilippon commented on Sep 21, 2018

    @vphilippon
    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?

  2. techalchemy commented on Sep 21, 2018

    @techalchemy
    Member

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

  3. ipmb commented on Sep 24, 2018

    @ipmb
    Author

    Still seeing the issue in 7a696ce

  4. added 2 commits that reference this issue on Oct 7, 2018
    6458a0d
    bf64e7b
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions