Skip to content

Error during install httpcore's third party dependencies #150

Closed

Description

@cdeler

Trying to install httpcore 3p dependencies into a python3.8's virtualenv, I got an error:

$ pip install -r requirements.txt
....
Successfully built urwid pyperclip kaitaistruct blinker
ERROR: mitmproxy 5.2 has requirement sortedcontainers<2.2,>=2.1.0, but you'll have sortedcontainers 2.2.2 which is incompatible.
Installing collected packages: sortedcontainers, attrs, outcome, idna, async-generator, sniffio, trio, mypy-extensions, typed-ast, typing-extensions, mypy, trio-typing, tornado, Markdown, PyYAML, MarkupSafe, Jinja2, six, livereload, future, tqdm, regex, click, joblib, nltk, lunr, mkdocs, mkautodoc, mkdocs-material-extensions, Pygments, pymdown-extensions, mkdocs-material, urllib3, certifi, chardet, requests, requests-toolbelt, pkginfo, docutils, webencodings, pyparsing, packaging, bleach, readme-renderer, keyring, colorama, rfc3986, twine, py, iniconfig, more-itertools, toml, pluggy, pytest, pytest-asyncio, pytest-trio, coverage, pytest-cov, appdirs, pathspec, black, pyflakes, autoflake, isort, hyperframe, protobuf, h11, wsproto, pyasn1, urwid, ruamel.yaml.clib, ruamel.yaml, publicsuffix2, itsdangerous, Werkzeug, flask, ldap3, zstandard, passlib, pyperclip, hpack, h2, pycparser, cffi, cryptography, pyOpenSSL, Brotli, kaitaistruct, blinker, mitmproxy, trustme, httptools, uvloop, websockets, uvicorn, httpcore
  Running setup.py develop for httpcore
Successfully installed Brotli-1.0.7 Jinja2-2.11.2 Markdown-3.2.2 MarkupSafe-1.1.1 PyYAML-5.3.1 Pygments-2.6.1 Werkzeug-1.0.1 appdirs-1.4.4 async-generator-1.10 attrs-19.3.0 autoflake-1.3.1 black-19.10b0 bleach-3.1.5 blinker-1.4 certifi-2020.6.20 cffi-1.14.1 chardet-3.0.4 click-7.1.2 colorama-0.4.3 coverage-5.2.1 cryptography-2.9.2 docutils-0.16 flask-1.1.2 future-0.18.2 h11-0.9.0 h2-3.2.0 hpack-3.0.0 httpcore httptools-0.1.1 hyperframe-5.2.0 idna-2.10 iniconfig-1.0.1 isort-5.3.2 itsdangerous-1.1.0 joblib-0.16.0 kaitaistruct-0.8 keyring-21.3.0 ldap3-2.7 livereload-2.6.2 lunr-0.5.8 mitmproxy-5.2 mkautodoc-0.1.0 mkdocs-1.1.2 mkdocs-material-5.5.5 mkdocs-material-extensions-1.0 more-itertools-8.4.0 mypy-0.782 mypy-extensions-0.4.3 nltk-3.5 outcome-1.0.1 packaging-20.4 passlib-1.7.2 pathspec-0.8.0 pkginfo-1.5.0.1 pluggy-0.13.1 protobuf-3.11.3 publicsuffix2-2.20191221 py-1.9.0 pyOpenSSL-19.1.0 pyasn1-0.4.8 pycparser-2.20 pyflakes-2.2.0 pymdown-extensions-8.0 pyparsing-2.4.7 pyperclip-1.8.0 pytest-6.0.1 pytest-asyncio-0.14.0 pytest-cov-2.10.0 pytest-trio-0.6.0 readme-renderer-26.0 regex-2020.7.14 requests-2.24.0 requests-toolbelt-0.9.1 rfc3986-1.4.0 ruamel.yaml-0.16.10 ruamel.yaml.clib-0.2.0 six-1.15.0 sniffio-1.1.0 sortedcontainers-2.2.2 toml-0.10.1 tornado-6.0.4 tqdm-4.48.2 trio-0.16.0 trio-typing-0.5.0 trustme-0.6.0 twine-3.2.0 typed-ast-1.4.1 typing-extensions-3.7.4.2 urllib3-1.25.10 urwid-2.0.1 uvicorn-0.11.8 uvloop-0.14.0 webencodings-0.5.1 websockets-8.1 wsproto-0.15.0 zstandard-0.13.0

(full output available at this gist

The error is

ERROR: mitmproxy 5.2 has requirement sortedcontainers<2.2,>=2.1.0, but you'll have sortedcontainers 2.2.2 which is incompatible.

Important information

Python version is 3.8.5
OS: OS X 10.14
pip freeze output is:

(venv-httpcore) ~/workspace/skv/httpcore % pip freeze
appdirs==1.4.4
async-generator==1.10
attrs==19.3.0
autoflake==1.3.1
black==19.10b0
bleach==3.1.5
blinker==1.4
Brotli==1.0.7
certifi==2020.6.20
cffi==1.14.1
chardet==3.0.4
click==7.1.2
colorama==0.4.3
coverage==5.2.1
cryptography==2.9.2
docutils==0.16
Flask==1.1.2
future==0.18.2
h11==0.9.0
h2==3.2.0
hpack==3.0.0
-e git+git@github.com:encode/httpcore.git@2328b0c5154fce375a60095e43b0743b22287984#egg=httpcore
httptools==0.1.1
hyperframe==5.2.0
idna==2.10
iniconfig==1.0.1
isort==5.3.2
itsdangerous==1.1.0
Jinja2==2.11.2
joblib==0.16.0
kaitaistruct==0.8
keyring==21.3.0
ldap3==2.7
livereload==2.6.2
lunr==0.5.8
Markdown==3.2.2
MarkupSafe==1.1.1
mitmproxy==5.2
mkautodoc==0.1.0
mkdocs==1.1.2
mkdocs-material==5.5.5
mkdocs-material-extensions==1.0
more-itertools==8.4.0
mypy==0.782
mypy-extensions==0.4.3
nltk==3.5
outcome==1.0.1
packaging==20.4
passlib==1.7.2
pathspec==0.8.0
pkginfo==1.5.0.1
pluggy==0.13.1
protobuf==3.11.3
publicsuffix2==2.20191221
py==1.9.0
pyasn1==0.4.8
pycparser==2.20
pyflakes==2.2.0
Pygments==2.6.1
pymdown-extensions==8.0
pyOpenSSL==19.1.0
pyparsing==2.4.7
pyperclip==1.8.0
pytest==6.0.1
pytest-asyncio==0.14.0
pytest-cov==2.10.0
pytest-trio==0.6.0
PyYAML==5.3.1
readme-renderer==26.0
regex==2020.7.14
requests==2.24.0
requests-toolbelt==0.9.1
rfc3986==1.4.0
ruamel.yaml==0.16.10
ruamel.yaml.clib==0.2.0
six==1.15.0
sniffio==1.1.0
sortedcontainers==2.2.2
toml==0.10.1
tornado==6.0.4
tqdm==4.48.2
trio==0.16.0
trio-typing==0.5.0
trustme==0.6.0
twine==3.2.0
typed-ast==1.4.1
typing-extensions==3.7.4.2
urllib3==1.25.10
urwid==2.0.1
uvicorn==0.11.8
uvloop==0.14.0
webencodings==0.5.1
websockets==8.1
Werkzeug==1.0.1
wsproto==0.15.0
zstandard==0.13.0

Steps to reproduce:

$ python3 -m virtualenv -p python3 venv-httpcore
$ . venv-httpcore/bin/activate
$ pip install -r requirement.txt

Activity

  1. cdeler commented on Aug 11, 2020

    @cdeler
    ContributorAuthor

    UPD I dig it a bit and found:

    (venv-httpcore) ~/workspace/skv/httpcore % pipdeptree -p mitmproxy | grep sorted
      - sortedcontainers [required: >=2.1.0,<2.2, installed: 2.2.2]
    

    and

    (venv-httpcore) ~/workspace/skv/httpcore % pipdeptree -p trio | grep sorted
      - sortedcontainers [required: Any, installed: 2.2.2]
    

    So we can pin any valid version of sortedcontainers to fix the error (if it's acceptable for you), e.g.

    sortedcontainers==2.1.*
    
  2. changed the title [-]Error during install httpcore third party dependencies[/-] [+]Error during install httpcore's third party dependencies[/+] on Aug 11, 2020
  3. lovelydinosaur commented on Aug 11, 2020

    @lovelydinosaur
    Member

    That'd be fine, yup. 👍

    (They're only the development dependencies, rather than the actual package dependencies.)

  4. added a commit that references this issue on Aug 11, 2020
  5. cdeler commented on Aug 11, 2020

    @cdeler
    ContributorAuthor

    They're only the development dependencies, rather than the actual package dependencies
    @tomchristie I understand

    Have you thought about the poetry (link)?

  6. cdeler commented on Aug 23, 2020

    @cdeler
    ContributorAuthor

    Closed

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

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions