Project

Profile

Help

Issue #6169

Cannot install Pulp due to a dependency conflict on idna 2.9

Added by bmbouter about 2 months ago. Updated about 1 month ago.

Status:
CLOSED - CURRENTRELEASE
Priority:
Normal
Assignee:
-
Category:
-
Sprint/Milestone:
Start date:
Due date:
Severity:
2. Medium
Version:
Platform Release:
Blocks Release:
OS:
Backwards Incompatible:
No
Triaged:
No
Groomed:
No
Sprint Candidate:
No
Tags:
QA Contact:
Complexity:
Smash Test:
Verified:
No
Verification Required:
No
Sprint:
Sprint 66

Description

Problem

When running Vagrant up you'll see the following error:

pkg_resources.ContextualVersionConflict: (idna 2.9 (/usr/local/lib/pulp/lib/python3.7/site-packages), Requirement.parse('idna<2.9,>=2.5'), {'requests'})

Issue

yarl doesn't constrain the version of idna, which released 2.9 today.

You can see what is bringing in idna from the pipdeptree output:

pipdeptree==0.13.2
  - pip [required: >=6.0.0, installed: 19.1.1]
pulp-file==0.2.0.dev0
  - pulpcore [required: >=3.0,<3.3, installed: 3.2.0.dev0]
    - aiofiles [required: Any, installed: 0.4.0]
    - aiohttp [required: Any, installed: 3.6.2]
      - async-timeout [required: >=3.0,<4.0, installed: 3.0.1]
      - attrs [required: >=17.3.0, installed: 19.3.0]
      - chardet [required: >=2.0,<4.0, installed: 3.0.4]
      - multidict [required: >=4.5,<5.0, installed: 4.7.4]
      - yarl [required: >=1.0,<2.0, installed: 1.4.2]
        - idna [required: >=2.0, installed: 2.9]
        - multidict [required: >=4.0, installed: 4.7.4]
    - backoff [required: Any, installed: 1.10.0]
    - coreapi [required: ~=2.3.3, installed: 2.3.3]
      - coreschema [required: Any, installed: 0.0.4]
        - jinja2 [required: Any, installed: 2.11.1]
          - MarkupSafe [required: >=0.23, installed: 1.1.1]
      - itypes [required: Any, installed: 1.1.0]
      - requests [required: Any, installed: 2.22.0]
        - certifi [required: >=2017.4.17, installed: 2019.11.28]
        - chardet [required: >=3.0.2,<3.1.0, installed: 3.0.4]
        - idna [required: >=2.5,<2.9, installed: 2.9]
        - urllib3 [required: >=1.21.1,<1.26,!=1.25.1,!=1.25.0, installed: 1.25.8]
      - uritemplate [required: Any, installed: 3.0.1]
    - Django [required: ~=2.2.3, installed: 2.2.10]
      - pytz [required: Any, installed: 2019.3]
      - sqlparse [required: Any, installed: 0.3.0]
    - django-filter [required: ~=2.2.0, installed: 2.2.0]
      - Django [required: >=1.11, installed: 2.2.10]
        - pytz [required: Any, installed: 2019.3]
        - sqlparse [required: Any, installed: 0.3.0]
    - djangorestframework [required: ~=3.10.2, installed: 3.10.3]
    - djangorestframework-queryfields [required: ~=1.0.0, installed: 1.0.0]
    - drf-nested-routers [required: ~=0.91.0, installed: 0.91]
      - Django [required: >=1.11, installed: 2.2.10]
        - pytz [required: Any, installed: 2019.3]
        - sqlparse [required: Any, installed: 0.3.0]
      - djangorestframework [required: >=3.6.0, installed: 3.10.3]
    - drf-yasg [required: ~=1.17.0, installed: 1.17.1]
      - coreapi [required: >=2.3.3, installed: 2.3.3]
        - coreschema [required: Any, installed: 0.0.4]
          - jinja2 [required: Any, installed: 2.11.1]
            - MarkupSafe [required: >=0.23, installed: 1.1.1]
        - itypes [required: Any, installed: 1.1.0]
        - requests [required: Any, installed: 2.22.0]
          - certifi [required: >=2017.4.17, installed: 2019.11.28]
          - chardet [required: >=3.0.2,<3.1.0, installed: 3.0.4]
          - idna [required: >=2.5,<2.9, installed: 2.9]
          - urllib3 [required: >=1.21.1,<1.26,!=1.25.1,!=1.25.0, installed: 1.25.8]
        - uritemplate [required: Any, installed: 3.0.1]
      - coreschema [required: >=0.0.4, installed: 0.0.4]
        - jinja2 [required: Any, installed: 2.11.1]
          - MarkupSafe [required: >=0.23, installed: 1.1.1]
      - Django [required: >=1.11.7, installed: 2.2.10]
        - pytz [required: Any, installed: 2019.3]
        - sqlparse [required: Any, installed: 0.3.0]
      - djangorestframework [required: >=3.8, installed: 3.10.3]
      - inflection [required: >=0.3.1, installed: 0.3.1]
      - packaging [required: Any, installed: 20.1]
        - pyparsing [required: >=2.0.2, installed: 2.4.6]
        - six [required: Any, installed: 1.14.0]
      - ruamel.yaml [required: >=0.15.34, installed: 0.16.10]
        - ruamel.yaml.clib [required: >=0.1.2, installed: 0.2.0]
      - six [required: >=1.10.0, installed: 1.14.0]
      - uritemplate [required: >=3.0.0, installed: 3.0.1]
    - dynaconf [required: >=2.2,<2.3, installed: 2.2.2]
      - click [required: <=7.0, installed: 7.0]
      - python-box [required: <4.0.0, installed: 3.4.6]
      - python-dotenv [required: <=0.10.3, installed: 0.10.3]
      - toml [required: <=0.10.0, installed: 0.10.0]
    - gunicorn [required: >=19.9,<20.1, installed: 20.0.4]
      - setuptools [required: >=3.0, installed: 41.2.0]
    - psycopg2 [required: >=2.7,<2.9, installed: 2.8.4]
    - pygtrie [required: ~=2.3.2, installed: 2.3.2]
    - python-gnupg [required: ~=0.4.0, installed: 0.4.5]
    - PyYAML [required: >=5.1.1,<5.4.0, installed: 5.3]
    - redis [required: >=3.4.0, installed: 3.4.1]
    - rq [required: >=1.1,<1.3, installed: 1.2.2]
      - click [required: >=5.0, installed: 7.0]
      - redis [required: >=3.0.0, installed: 3.4.1]
    - setuptools [required: >=39.2.0, installed: 41.2.0]
    - whitenoise [required: >=4.1.3,<5.1.0, installed: 5.0.1]

Associated revisions

Revision 0cb28fc9 View on GitHub
Added by bmbouter about 2 months ago

Pin idna==2.9 to resolve conflicting packages

The yarl and requests packages are sub-dependencies of pulpcore, and have conflicting version needs for idna. With idna==2.9 released, this prevents Pulp from installing. This temporary pin will ensure idna==2.8 is released which all versions are satisfied with.

https://pulp.plan.io/issues/6169 closes #6169

Revision dc82308c View on GitHub
Added by bmbouter about 2 months ago

Pin idna==2.9 to resolve conflicting packages

The yarl and requests packages are sub-dependencies of pulpcore, and have conflicting version needs for idna. With idna==2.9 released, this prevents Pulp from installing. This temporary pin will ensure idna==2.8 is released which all versions are satisfied with.

https://pulp.plan.io/issues/6169 closes #6169

(cherry picked from commit 0cb28fc9a7434d67c313a8d234afc4c1d1a9e229)

History

#1 Updated by bmbouter about 2 months ago

  • Status changed from NEW to ASSIGNED
  • Sprint set to Sprint 66

Adding to sprint since it's blocking all installs

#2 Updated by bmbouter about 2 months ago

The solution is to pin idna in pulpcore until either yarl releases a version restricting idna<2.9 or requests raises their idna<2.9 restriction.

#3 Updated by bmbouter about 2 months ago

  • Status changed from ASSIGNED to POST

#4 Updated by bmbouter about 2 months ago

  • Status changed from POST to MODIFIED

#6 Updated by bmbouter about 1 month ago

  • Status changed from MODIFIED to CLOSED - CURRENTRELEASE

#7 Updated by bmbouter about 1 month ago

  • Sprint/Milestone set to 3.1.1

Please register to edit this issue

Also available in: Atom PDF