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

pdm add httpx use the wrong version of rfc3986 #1001

Closed
1 task done
MisLink opened this issue Mar 28, 2022 · 0 comments
Closed
1 task done

pdm add httpx use the wrong version of rfc3986 #1001

MisLink opened this issue Mar 28, 2022 · 0 comments
Labels
🐛 bug Something isn't working 🧩 dependency resolution Resolution failures

Comments

@MisLink
Copy link

MisLink commented Mar 28, 2022

  • I have searched the issue tracker and believe that this is not a duplicate.

Make sure you run commands with -v flag before pasting the output.

Steps to reproduce

$ pdm add httpx -v 
Adding packages to default dependencies: httpx
======== Start resolving requirements ========
  httpx
  python>=3.10
  Adding requirement httpx
        Found matching candidates:
          <Candidate httpx 0.22.0 from https://pypi.org/simple/httpx/>
          <Candidate httpx 0.21.3 from https://pypi.org/simple/httpx/>
          <Candidate httpx 0.21.2 from https://pypi.org/simple/httpx/>
          <Candidate httpx 0.21.1 from https://pypi.org/simple/httpx/>
          <Candidate httpx 0.21.0 from https://pypi.org/simple/httpx/>
          <Candidate httpx 0.20.0 from https://pypi.org/simple/httpx/>
          <Candidate httpx 0.19.0 from https://pypi.org/simple/httpx/>
          <Candidate httpx 0.18.2 from https://pypi.org/simple/httpx/>
          <Candidate httpx 0.18.1 from https://pypi.org/simple/httpx/>
          <Candidate httpx 0.18.0 from https://pypi.org/simple/httpx/>
          ... [87 more candidate(s)]
  Adding requirement python>=3.10
======== Starting round 0 ========
Resolving: new pin python >=3.10
======== Ending round 0 ========
======== Starting round 1 ========
  Adding requirement certifi(from httpx 0.22.0)
        Found matching candidates:
          <Candidate certifi 2021.10.8 from https://pypi.org/simple/certifi/>
          <Candidate certifi 2021.5.30 from https://pypi.org/simple/certifi/>
          <Candidate certifi 2020.12.5 from https://pypi.org/simple/certifi/>
          <Candidate certifi 2020.11.8 from https://pypi.org/simple/certifi/>
          <Candidate certifi 2020.6.20 from https://pypi.org/simple/certifi/>
          <Candidate certifi 2020.4.5.2 from https://pypi.org/simple/certifi/>
          <Candidate certifi 2020.4.5.1 from https://pypi.org/simple/certifi/>
          <Candidate certifi 2020.4.5 from https://pypi.org/simple/certifi/>
          <Candidate certifi 2019.11.28 from https://pypi.org/simple/certifi/>
          <Candidate certifi 2019.9.11 from https://pypi.org/simple/certifi/>
          ... [70 more candidate(s)]
  Adding requirement charset-normalizer(from httpx 0.22.0)
        Found matching candidates:
          <Candidate charset-normalizer 2.0.12 from https://pypi.org/simple/charset-normalizer/>
          <Candidate charset-normalizer 2.0.11 from https://pypi.org/simple/charset-normalizer/>
          <Candidate charset-normalizer 2.0.10 from https://pypi.org/simple/charset-normalizer/>
          <Candidate charset-normalizer 2.0.9 from https://pypi.org/simple/charset-normalizer/>
          <Candidate charset-normalizer 2.0.8 from https://pypi.org/simple/charset-normalizer/>
          <Candidate charset-normalizer 2.0.7 from https://pypi.org/simple/charset-normalizer/>
          <Candidate charset-normalizer 2.0.6 from https://pypi.org/simple/charset-normalizer/>
          <Candidate charset-normalizer 2.0.5 from https://pypi.org/simple/charset-normalizer/>
          <Candidate charset-normalizer 2.0.4 from https://pypi.org/simple/charset-normalizer/>
          <Candidate charset-normalizer 2.0.3 from https://pypi.org/simple/charset-normalizer/>
          ... [46 more candidate(s)]
  Adding requirement sniffio(from httpx 0.22.0)
        Found matching candidates:
          <Candidate sniffio 1.2.0 from https://pypi.org/simple/sniffio/>
          <Candidate sniffio 1.1.0 from https://pypi.org/simple/sniffio/>
          <Candidate sniffio 1.0.0 from https://pypi.org/simple/sniffio/>
          <Candidate sniffio 0.0.0 from https://pypi.org/simple/sniffio/>
  Adding requirement rfc3986[idna2008]<2,>=1.3(from httpx 0.22.0)
        Found matching candidates:
          <Candidate rfc3986 1.5.0 from https://pypi.org/simple/rfc3986/>
          <Candidate rfc3986 1.4.0 from https://pypi.org/simple/rfc3986/>
          <Candidate rfc3986 1.3.2 from https://pypi.org/simple/rfc3986/>
          <Candidate rfc3986 1.3.1 from https://pypi.org/simple/rfc3986/>
          <Candidate rfc3986 1.3.0 from https://pypi.org/simple/rfc3986/>
  Adding requirement httpcore<0.15.0,>=0.14.5(from httpx 0.22.0)
        Found matching candidates:
          <Candidate httpcore 0.14.7 from https://pypi.org/simple/httpcore/>
          <Candidate httpcore 0.14.6 from https://pypi.org/simple/httpcore/>
          <Candidate httpcore 0.14.5 from https://pypi.org/simple/httpcore/>
Resolving: new pin httpx 0.22.0
======== Ending round 1 ========
======== Starting round 2 ========
Resolving: new pin certifi 2021.10.8
======== Ending round 2 ========
======== Starting round 3 ========
Resolving: new pin charset-normalizer 2.0.12
======== Ending round 3 ========
======== Starting round 4 ========
Resolving: new pin sniffio 1.2.0
======== Ending round 4 ========
======== Starting round 5 ========
  Adding requirement h11<0.13,>=0.11(from httpcore 0.14.7)
        Found matching candidates:
          <Candidate h11 0.12.0 from https://pypi.org/simple/h11/>
          <Candidate h11 0.11.0 from https://pypi.org/simple/h11/>
  Adding requirement sniffio==1.*(from httpcore 0.14.7)
        Found matching candidates:
          <Candidate sniffio 1.2.0 from https://pypi.org/simple/sniffio/>
          <Candidate sniffio 1.1.0 from https://pypi.org/simple/sniffio/>
          <Candidate sniffio 1.0.0 from https://pypi.org/simple/sniffio/>
  Adding requirement anyio==3.*(from httpcore 0.14.7)
        Found matching candidates:
          <Candidate anyio 3.5.0 from https://pypi.org/simple/anyio/>
          <Candidate anyio 3.4.0 from https://pypi.org/simple/anyio/>
          <Candidate anyio 3.3.4 from https://pypi.org/simple/anyio/>
          <Candidate anyio 3.3.3 from https://pypi.org/simple/anyio/>
          <Candidate anyio 3.3.2 from https://pypi.org/simple/anyio/>
          <Candidate anyio 3.3.1 from https://pypi.org/simple/anyio/>
          <Candidate anyio 3.3.0 from https://pypi.org/simple/anyio/>
          <Candidate anyio 3.2.1 from https://pypi.org/simple/anyio/>
          <Candidate anyio 3.2.0 from https://pypi.org/simple/anyio/>
          <Candidate anyio 3.1.0 from https://pypi.org/simple/anyio/>
          ... [14 more candidate(s)]
  Adding requirement certifi(from httpcore 0.14.7)
        Found matching candidates:
          <Candidate certifi 2021.10.8 from https://pypi.org/simple/certifi/>
          <Candidate certifi 2021.5.30 from https://pypi.org/simple/certifi/>
          <Candidate certifi 2020.12.5 from https://pypi.org/simple/certifi/>
          <Candidate certifi 2020.11.8 from https://pypi.org/simple/certifi/>
          <Candidate certifi 2020.6.20 from https://pypi.org/simple/certifi/>
          <Candidate certifi 2020.4.5.2 from https://pypi.org/simple/certifi/>
          <Candidate certifi 2020.4.5.1 from https://pypi.org/simple/certifi/>
          <Candidate certifi 2020.4.5 from https://pypi.org/simple/certifi/>
          <Candidate certifi 2019.11.28 from https://pypi.org/simple/certifi/>
          <Candidate certifi 2019.9.11 from https://pypi.org/simple/certifi/>
          ... [70 more candidate(s)]
Resolving: new pin httpcore 0.14.7
======== Ending round 5 ========
======== Starting round 6 ========
  Adding requirement idna>=2.8(from anyio 3.5.0)
        Found matching candidates:
          <Candidate idna 3.3 from https://pypi.org/simple/idna/>
          <Candidate idna 3.2 from https://pypi.org/simple/idna/>
          <Candidate idna 3.1 from https://pypi.org/simple/idna/>
          <Candidate idna 3.0 from https://pypi.org/simple/idna/>
          <Candidate idna 2.10 from https://pypi.org/simple/idna/>
          <Candidate idna 2.9 from https://pypi.org/simple/idna/>
          <Candidate idna 2.8 from https://pypi.org/simple/idna/>
  Adding requirement sniffio>=1.1(from anyio 3.5.0)
        Found matching candidates:
          <Candidate sniffio 1.2.0 from https://pypi.org/simple/sniffio/>
          <Candidate sniffio 1.1.0 from https://pypi.org/simple/sniffio/>
          <Candidate sniffio 1.0.0 from https://pypi.org/simple/sniffio/>
Resolving: new pin anyio 3.5.0
======== Ending round 6 ========
======== Starting round 7 ========
  Adding requirement idna(from rfc3986 1.5.0)
        Found matching candidates:
          <Candidate idna 3.3 from https://pypi.org/simple/idna/>
          <Candidate idna 3.2 from https://pypi.org/simple/idna/>
          <Candidate idna 3.1 from https://pypi.org/simple/idna/>
          <Candidate idna 3.0 from https://pypi.org/simple/idna/>
          <Candidate idna 2.10 from https://pypi.org/simple/idna/>
          <Candidate idna 2.9 from https://pypi.org/simple/idna/>
          <Candidate idna 2.8 from https://pypi.org/simple/idna/>
  Adding requirement rfc3986(from rfc3986 1.5.0)
        Found matching candidates:
          <Candidate rfc3986 2.0.0 from https://pypi.org/simple/rfc3986/>
          <Candidate rfc3986 1.5.0 from https://pypi.org/simple/rfc3986/>
          <Candidate rfc3986 1.4.0 from https://pypi.org/simple/rfc3986/>
          <Candidate rfc3986 1.3.2 from https://pypi.org/simple/rfc3986/>
          <Candidate rfc3986 1.3.1 from https://pypi.org/simple/rfc3986/>
          <Candidate rfc3986 1.3.0 from https://pypi.org/simple/rfc3986/>
          <Candidate rfc3986 1.2.0 from https://pypi.org/simple/rfc3986/>
          <Candidate rfc3986 1.1.0 from https://pypi.org/simple/rfc3986/>
          <Candidate rfc3986 1.0.0 from https://pypi.org/simple/rfc3986/>
          <Candidate rfc3986 0.4.1 from https://pypi.org/simple/rfc3986/>
          ... [24 more candidate(s)]
Resolving: new pin rfc3986 1.5.0
======== Ending round 7 ========
======== Starting round 8 ========
Resolving: new pin rfc3986 2.0.0
======== Ending round 8 ========
======== Starting round 9 ========
Resolving: new pin h11 0.12.0
======== Ending round 9 ========
======== Starting round 10 ========
Resolving: new pin idna 3.3
======== Ending round 10 ========
======== Starting round 11 ========
======== Resolution Result ========
Stable pins:
              python None
               httpx 0.22.0
             certifi 2021.10.8
  charset-normalizer 2.0.12
             sniffio 1.2.0
            httpcore 0.14.7
               anyio 3.5.0
   rfc3986[idna2008] 1.5.0
             rfc3986 2.0.0
                 h11 0.12.0
                idna 3.3
        Found matching candidates:
          <Candidate httpx 0.22.0 from https://pypi.org/simple/httpx/>
        Found matching candidates:
          <Candidate certifi 2021.10.8 from https://pypi.org/simple/certifi/>
        Found matching candidates:
          <Candidate charset-normalizer 2.0.12 from https://pypi.org/simple/charset-normalizer/>
        Found matching candidates:
          <Candidate sniffio 1.2.0 from https://pypi.org/simple/sniffio/>
        Found matching candidates:
          <Candidate httpcore 0.14.7 from https://pypi.org/simple/httpcore/>
        Found matching candidates:
          <Candidate anyio 3.5.0 from https://pypi.org/simple/anyio/>
        Found matching candidates:
          <Candidate rfc3986 1.5.0 from https://pypi.org/simple/rfc3986/>
        Found matching candidates:
          <Candidate rfc3986 2.0.0 from https://pypi.org/simple/rfc3986/>
        Found matching candidates:
          <Candidate h11 0.12.0 from https://pypi.org/simple/h11/>
        Found matching candidates:
          <Candidate idna 3.3 from https://pypi.org/simple/idna/>
🔒 Lock successful
Changes are written to pdm.lock.
Changes are written to pyproject.toml.
Synchronizing working set with lock file: 9 to add, 0 to update, 0 to remove

Install charset-normalizer 2.0.12 successful
Install rfc3986 2.0.0 successful
Install idna 3.3 successful
Install certifi 2021.10.8 successful
Install h11 0.12.0 successful
Install httpx 0.22.0 successful
Install anyio 3.5.0 successful
Install httpcore 0.14.7 successful
Install sniffio 1.2.0 successful

🎉 All complete!

Actual behavior

pdm install the rfc3986 with version 2.0.0, but httpx says it need rfc3986>=1.3,<2.

Expected behavior

install the correct version of dependencies.

Environment Information

$ pdm info && pdm info --env
PDM version:        1.13.6
Python Interpreter: /Users/me/projects/test/.venv/bin/python (3.10)
Project Root:       /Users/me/projects/test
Project Packages:   None
{
  "implementation_name": "cpython",
  "implementation_version": "3.10.3",
  "os_name": "posix",
  "platform_machine": "x86_64",
  "platform_release": "21.3.0",
  "platform_system": "Darwin",
  "platform_version": "Darwin Kernel Version 21.3.0: Wed Jan  5 21:37:58 PST 2022; root:xnu-8019.80.24~20/RELEASE_X86_64",
  "python_full_version": "3.10.3",
  "platform_python_implementation": "CPython",
  "python_version": "3.10",
  "sys_platform": "darwin"
}
@MisLink MisLink added the 🐛 bug Something isn't working label Mar 28, 2022
@frostming frostming added the 🧩 dependency resolution Resolution failures label Mar 28, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
🐛 bug Something isn't working 🧩 dependency resolution Resolution failures
Projects
None yet
Development

No branches or pull requests

2 participants