crossbario / crossbar

Crossbar.io - WAMP application router
https://crossbar.io/
Other
2.05k stars 274 forks source link

move back to requirements-min rather than requirements-latest #1943

Closed oberstet closed 2 years ago

oberstet commented 2 years ago

I hate pip. I can say for sure.

base) oberstet@intel-nuci7:~/scm/crossbario/crossbar$ ~/cpy39/bin/python3 -m venv ~/cpy39_5
(base) oberstet@intel-nuci7:~/scm/crossbario/crossbar$ source ~/cpy39_5/bin/activate
(cpy39_5) (base) oberstet@intel-nuci7:~/scm/crossbario/crossbar$ pip install .

...

Building wheels for collected packages: crossbar
  Building wheel for crossbar (PEP 517) ... done
  Created wheel for crossbar: filename=crossbar-22.1.1-py2.py3-none-any.whl size=804858 sha256=20be2090f42cc577ebd878e37ffd80079468bbdfd45558d83e0971c67526a369
  Stored in directory: /tmp/pip-ephem-wheel-cache-4yesh3q0/wheels/cc/73/e4/9b6d350d0ac3390e384991871873675903715953678ade430c
Successfully built crossbar
Installing collected packages: sortedcontainers, pytrie, hexbytes, pycparser, cffi, pynacl, flatbuffers, txaio, click, numpy, pyyaml, lmdb, cbor2, zlmdb, cfxdb, attrs, iso8601, six, ujson, stringcase, constantly, sdnotify, psutil, setproctitle, validate-email, xbr, mistune, cryptography, pyopenssl, priority, werkzeug, itsdangerous, MarkupSafe, jinja2, flask, incremental, bitarray, toolz, cytoolz, eth-typing, pycryptodome, eth-hash, eth-utils, eth-keys, eth-keyfile, parsimonious, eth-abi, rlp, eth-rlp, eth-account, netaddr, varint, base58, multiaddr, certifi, idna, urllib3, charset-normalizer, requests, ipfshttpclient, lru-dict, frozenlist, aiosignal, multidict, yarl, async-timeout, aiohttp, pyrsistent, jsonschema, protobuf, websockets, web3, pygments, jinja2-highlight, zope.interface, typing-extensions, hyperlink, Automat, pyasn1, appdirs, bcrypt, hyperframe, hpack, h2, pyasn1-modules, service-identity, twisted, websocket-client, docker, colorama, text-unidecode, python-slugify, python-dateutil, arrow, jinja2-time, chardet, binaryornot, poyo, cookiecutter, zipp, importlib-resources, morphys, py-multihash, watchdog, pyqrcode, pytz, vmprof, cbor, passlib, python-snappy, argon2-cffi-bindings, argon2-cffi, py-ubjson, msgpack, hkdf, spake2, mypy-extensions, cached-property, py-ecc, mnemonic, py-eth-sig-utils, ecdsa, pycairo, PyGObject, yapf, autobahn, wsaccel, humanize, u-msgpack-python, treq, python-baseconv, py-multibase, py-multicodec, py-cid, wcwidth, prompt-toolkit, bitstring, txtorcon, tabulate, crossbar
    Running setup.py install for py-multihash ... done
    Running setup.py install for vmprof ... done
    Running setup.py install for py-cid ... done
ERROR: After October 2020 you may experience errors when installing or updating packages. This is because pip will change the way that it resolves dependency conflicts.

We recommend you use --use-feature=2020-resolver to test your packages with the new resolver before it becomes the default.

eth-utils 1.10.0 requires eth-typing<3.0.0,>=2.2.1, but you'll have eth-typing 3.0.0 which is incompatible.
eth-keys 0.4.0 requires eth-utils<3.0.0,>=2.0.0, but you'll have eth-utils 1.10.0 which is incompatible.
eth-keyfile 0.6.0 requires eth-utils<3,>=2, but you'll have eth-utils 1.10.0 which is incompatible.
eth-abi 2.1.1 requires eth-typing<3.0.0,>=2.0.0, but you'll have eth-typing 3.0.0 which is incompatible.
rlp 3.0.0 requires eth-utils<3,>=2.0.0, but you'll have eth-utils 1.10.0 which is incompatible.
eth-rlp 0.3.0 requires eth-utils<3,>=2.0.0, but you'll have eth-utils 1.10.0 which is incompatible.
eth-account 0.6.0 requires eth-abi<4,>=3.0.0, but you'll have eth-abi 2.1.1 which is incompatible.
eth-account 0.6.0 requires eth-utils<3,>=2.0.0, but you'll have eth-utils 1.10.0 which is incompatible.
web3 5.28.0 requires eth-account<0.6.0,>=0.5.7, but you'll have eth-account 0.6.0 which is incompatible.
web3 5.28.0 requires eth-typing<3.0.0,>=2.0.0, but you'll have eth-typing 3.0.0 which is incompatible.
py-ecc 6.0.0 requires eth-utils<3,>=2.0.0, but you'll have eth-utils 1.10.0 which is incompatible.
Successfully installed Automat-20.2.0 MarkupSafe-2.0.1 PyGObject-3.42.0 aiohttp-3.8.1 aiosignal-1.2.0 appdirs-1.4.4 argon2-cffi-21.3.0 argon2-cffi-bindings-21.2.0 arrow-1.2.2 async-timeout-4.0.2 attrs-21.4.0 autobahn-22.1.1 base58-2.1.1 bcrypt-3.2.0 binaryornot-0.4.4 bitarray-1.2.2 bitstring-3.1.9 cached-property-1.5.2 cbor-1.0.0 cbor2-5.4.2.post1 certifi-2021.10.8 cffi-1.15.0 cfxdb-21.2.1 chardet-4.0.0 charset-normalizer-2.0.12 click-8.0.3 colorama-0.4.4 constantly-15.1.0 cookiecutter-1.7.3 crossbar-22.1.1 cryptography-36.0.1 cytoolz-0.11.2 docker-5.0.3 ecdsa-0.17.0 eth-abi-2.1.1 eth-account-0.6.0 eth-hash-0.3.2 eth-keyfile-0.6.0 eth-keys-0.4.0 eth-rlp-0.3.0 eth-typing-3.0.0 eth-utils-1.10.0 flask-2.0.2 flatbuffers-2.0 frozenlist-1.3.0 h2-3.2.0 hexbytes-0.2.2 hkdf-0.0.3 hpack-3.0.0 humanize-3.14.0 hyperframe-5.2.0 hyperlink-21.0.0 idna-3.3 importlib-resources-5.4.0 incremental-21.3.0 ipfshttpclient-0.8.0a2 iso8601-1.0.2 itsdangerous-2.0.1 jinja2-3.0.3 jinja2-highlight-0.6.1 jinja2-time-0.2.0 jsonschema-3.2.0 lmdb-1.3.0 lru-dict-1.1.7 mistune-2.0.2 mnemonic-0.20 morphys-1.0 msgpack-1.0.3 multiaddr-0.0.9 multidict-6.0.2 mypy-extensions-0.4.3 netaddr-0.8.0 numpy-1.22.2 parsimonious-0.8.1 passlib-1.7.4 poyo-0.5.0 priority-1.3.0 prompt-toolkit-3.0.28 protobuf-3.19.4 psutil-5.9.0 py-cid-0.4.0 py-ecc-6.0.0 py-eth-sig-utils-0.4.0 py-multibase-1.0.3 py-multicodec-0.2.1 py-multihash-2.1.0 py-ubjson-0.16.1 pyasn1-0.4.8 pyasn1-modules-0.2.8 pycairo-1.20.1 pycparser-2.21 pycryptodome-3.14.1 pygments-2.11.2 pynacl-1.5.0 pyopenssl-22.0.0 pyqrcode-1.2.1 pyrsistent-0.18.1 python-baseconv-1.2.2 python-dateutil-2.8.2 python-slugify-5.0.2 python-snappy-0.6.0 pytrie-0.4.0 pytz-2021.3 pyyaml-6.0 requests-2.27.1 rlp-3.0.0 sdnotify-0.3.2 service-identity-21.1.0 setproctitle-1.2.2 six-1.16.0 sortedcontainers-2.4.0 spake2-0.8 stringcase-1.2.0 tabulate-0.8.9 text-unidecode-1.3 toolz-0.11.2 treq-22.2.0 twisted-22.1.0 txaio-21.2.1 txtorcon-21.1.0 typing-extensions-4.1.0 u-msgpack-python-2.7.1 ujson-5.1.0 urllib3-1.26.8 validate-email-1.3 varint-1.0.2 vmprof-0.4.15 watchdog-2.1.6 wcwidth-0.2.5 web3-5.28.0 websocket-client-1.2.3 websockets-9.1 werkzeug-2.0.3 wsaccel-0.6.3 xbr-21.2.1 yapf-0.29.0 yarl-1.7.2 zipp-3.7.0 zlmdb-22.1.2 zope.interface-5.4.0
WARNING: You are using pip version 20.2.3; however, version 22.0.3 is available.
You should consider upgrading via the '/home/oberstet/cpy39_5/bin/python3 -m pip install --upgrade pip' command.
(cpy39_5) (base) oberstet@intel-nuci7:~/scm/crossbario/crossbar$ python -V
Python 3.9.4
(cpy39_5) (base) oberstet@intel-nuci7:~/scm/crossbario/crossbar$ pip show pip
Name: pip
Version: 20.2.3
Summary: The PyPA recommended tool for installing Python packages.
Home-page: https://pip.pypa.io/
Author: The pip developers
Author-email: distutils-sig@python.org
License: MIT
Location: /home/oberstet/cpy39_5/lib/python3.9/site-packages
Requires: 
Required-by: 
(cpy39_5) (base) oberstet@intel-nuci7:~/scm/crossbario/crossbar$ 
oberstet commented 2 years ago

so above fail is for pip v20.2.3. updating to pip 22.0.3 (still in that same Python 3.9.4 venv) makes it work:

Successfully installed crossbar-22.1.1 eth-account-0.5.7 eth-keyfile-0.5.1 eth-keys-0.3.4 eth-rlp-0.2.1 eth-typing-2.3.0 py-ecc-5.2.0 rlp-2.0.1
(cpy39_5) (base) oberstet@intel-nuci7:~/scm/crossbario/crossbar$ crossbar version

    :::::::::::::::::
          :::::          _____                 __              _____  __
    :::::   :   :::::   / ___/______  ___ ___ / /  ___ _____  / __/ |/_/
    :::::::   :::::::  / /__/ __/ _ \(_-<(_-</ _ \/ _ `/ __/ / _/_>  <
    :::::   :   :::::  \___/_/  \___/___/___/_.__/\_,_/_/   /_/ /_/|_|
          :::::
    :::::::::::::::::   Crossbar.io FX v22.1.1 [19000101-0000000]

    Copyright (c) 2013-2022 Crossbar.io Technologies GmbH. All rights reserved.

 Crossbar.io        : 22.1.1
   txaio            : 21.2.1
   Autobahn         : 22.1.1
     UTF8 Validator : wsaccel-0.6.2
     XOR Masker     : wsaccel-0.6.2
     JSON Codec     : stdlib
     MsgPack Codec  : msgpack-1.0.3
     CBOR Codec     : cbor-1.0.0
     UBJSON Codec   : ubjson-0.16.1
     FlatBuffers    : flatbuffers-2.0
   Twisted          : 22.1.0-EPollReactor
   LMDB             : 1.3.0/lmdb-0.9.29
   Python           : 3.9.4/CPython
   PIP              : 22.0.3
   NumPy            : 1.22.2
   zLMDB            : 22.1.2
   CFXDB            : 21.2.1
   XBR              : 21.2.1
 Frozen executable  : no
 Operating system   : Linux-5.4.0-99-generic-x86_64-with-glibc2.31
 Host machine       : x86_64
 Release key        : RWQ7w++/Cg/RiwlsA+sWBUkG+H6AtmUAgkRf024XBeWn0qzg7LEKWSSN
oberstet commented 2 years ago

the same happens on CPython 3.10: it doesn't work with the shipped pip 21.2.3, but it works with pip-22.0.3

(cpy310_3) (base) oberstet@intel-nuci7:~/scm/crossbario/crossbar$ crossbar version

    :::::::::::::::::
          :::::          _____                 __              _____  __
    :::::   :   :::::   / ___/______  ___ ___ / /  ___ _____  / __/ |/_/
    :::::::   :::::::  / /__/ __/ _ \(_-<(_-</ _ \/ _ `/ __/ / _/_>  <
    :::::   :   :::::  \___/_/  \___/___/___/_.__/\_,_/_/   /_/ /_/|_|
          :::::
    :::::::::::::::::   Crossbar.io FX v22.1.1 [19000101-0000000]

    Copyright (c) 2013-2022 Crossbar.io Technologies GmbH. All rights reserved.

 Crossbar.io        : 22.1.1
   txaio            : 21.2.1
   Autobahn         : 22.1.1
     UTF8 Validator : wsaccel-0.6.2
     XOR Masker     : wsaccel-0.6.2
     JSON Codec     : stdlib
     MsgPack Codec  : msgpack-1.0.3
     CBOR Codec     : cbor-1.0.0
     UBJSON Codec   : ubjson-0.16.1
     FlatBuffers    : flatbuffers-2.0
   Twisted          : 22.1.0-EPollReactor
   LMDB             : 1.3.0/lmdb-0.9.29
   Python           : 3.10.0/CPython
   PIP              : 22.0.3
   NumPy            : 1.22.2
   zLMDB            : 22.1.2
   CFXDB            : 21.2.1
   XBR              : 21.2.1
 Frozen executable  : no
 Operating system   : Linux-5.4.0-99-generic-x86_64-with-glibc2.31
 Host machine       : x86_64
 Release key        : RWQ7w++/Cg/RiwlsA+sWBUkG+H6AtmUAgkRf024XBeWn0qzg7LEKWSSN

summary: Use pip 22.0.3!