baking-bad / pytezos

🐍 Python SDK for Tezos | Michelson VM in Python
https://pytezos.org
MIT License
111 stars 36 forks source link

Dependencies take forever to resolve using pip #353

Closed tbinetruy closed 9 months ago

tbinetruy commented 9 months ago

Hi !

The installation process takes forever to resolve (40 minutes and going as of right now). Strangely, this did not happen not too long ago.

Here's a dockerfile to test it out, it's using Archlinux with Python 3.11, but I have the same problem on my Ubuntu server running Python 3.10. I've tried upgrading pip and setuptools but no luck:

FROM archlinux:latest

RUN pacman -Syu --noconfirm which python python-pip pkg-config python-setuptools libsodium libsecp256k1

RUN pip install --upgrade pip setuptools

RUN rm /usr/lib/python3.11/EXTERNALLY-MANAGED
RUN pip install pytezos

I'm guessing it's sub-dependencies that cannot resolve somehow. Will keep looking, but posting here in case someone has a quick fix :)

Notes:

Here's the dependency resolver backtracking on jsonschema (on Python 3.10 & 3.11):

Collecting nbformat (from notebook<7.0.0,>=6.4.6->pytezos)
  Downloading nbformat-5.9.1-py3-none-any.whl.metadata (3.3 kB)
  Downloading nbformat-5.9.0-py3-none-any.whl.metadata (3.3 kB)
  Downloading nbformat-5.8.0-py3-none-any.whl (77 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 77.4/77.4 kB 5.7 MB/s eta 0:00:00
  Downloading nbformat-5.7.3-py3-none-any.whl (78 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 78.1/78.1 kB 2.0 MB/s eta 0:00:00
  Downloading nbformat-5.7.2-py3-none-any.whl (78 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 78.1/78.1 kB 3.5 MB/s eta 0:00:00
  Downloading nbformat-5.7.1-py3-none-any.whl (77 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 77.2/77.2 kB 3.5 MB/s eta 0:00:00
  Downloading nbformat-5.7.0-py3-none-any.whl (77 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 77.1/77.1 kB 6.0 MB/s eta 0:00:00
Collecting jsonschema<5.0.0,>=4.3.2 (from pytezos)
  Downloading jsonschema-4.17.1-py3-none-any.whl (90 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 90.2/90.2 kB 1.7 MB/s eta 0:00:00
  Downloading jsonschema-4.17.0-py3-none-any.whl (83 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 83.8/83.8 kB 77.8 kB/s eta 0:00:00
  Downloading jsonschema-4.16.0-py3-none-any.whl (83 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 83.1/83.1 kB 3.6 MB/s eta 0:00:00
INFO: pip is still looking at multiple versions of notebook to determine which version is compatible with other requirements. This could take a while.
  Downloading jsonschema-4.15.0-py3-none-any.whl (82 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 82.7/82.7 kB 2.2 MB/s eta 0:00:00
  Downloading jsonschema-4.14.0-py3-none-any.whl (82 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 82.4/82.4 kB 4.1 MB/s eta 0:00:00
  Downloading jsonschema-4.13.0-py3-none-any.whl (81 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 81.6/81.6 kB 4.0 MB/s eta 0:00:00
INFO: This is taking longer than usual. You might need to provide the dependency resolver with stricter constraints to reduce runtime. See https://pip.pypa.io/warnings/backtracking for guidance. If you want to abort this run, press Ctrl + C.
  Downloading jsonschema-4.12.1-py3-none-any.whl (81 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 81.2/81.2 kB 4.0 MB/s eta 0:00:00
  Downloading jsonschema-4.12.0-py3-none-any.whl (81 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 81.3/81.3 kB 4.0 MB/s eta 0:00:00
  Downloading jsonschema-4.11.0-py3-none-any.whl (80 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 80.8/80.8 kB 6.4 MB/s eta 0:00:00
  Downloading jsonschema-4.10.3-py3-none-any.whl (81 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 81.2/81.2 kB 4.8 MB/s eta 0:00:00
  Downloading jsonschema-4.10.2-py3-none-any.whl (81 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 81.1/81.1 kB 3.4 MB/s eta 0:00:00
  Downloading jsonschema-4.10.1-py3-none-any.whl (81 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 81.1/81.1 kB 3.7 MB/s eta 0:00:00
  Downloading jsonschema-4.10.0-py3-none-any.whl (80 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 80.8/80.8 kB 6.4 MB/s eta 0:00:00
  Downloading jsonschema-4.9.1-py3-none-any.whl (79 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 79.5/79.5 kB 3.6 MB/s eta 0:00:00
  Downloading jsonschema-4.9.0-py3-none-any.whl (79 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 79.5/79.5 kB 3.3 MB/s eta 0:00:00
  Downloading jsonschema-4.8.0-py3-none-any.whl (81 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 81.4/81.4 kB 3.3 MB/s eta 0:00:00
  Downloading jsonschema-4.7.2-py3-none-any.whl (81 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 81.1/81.1 kB 6.3 MB/s eta 0:00:00
  Downloading jsonschema-4.7.1-py3-none-any.whl (80 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 81.0/81.0 kB 6.1 MB/s eta 0:00:00
  Downloading jsonschema-4.7.0-py3-none-any.whl (80 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 81.0/81.0 kB 3.5 MB/s eta 0:00:00
  Downloading jsonschema-4.6.2-py3-none-any.whl (80 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 80.8/80.8 kB 6.1 MB/s eta 0:00:00
  Downloading jsonschema-4.6.1-py3-none-any.whl (80 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 80.8/80.8 kB 6.1 MB/s eta 0:00:00
  Downloading jsonschema-4.6.0-py3-none-any.whl (80 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 80.4/80.4 kB 3.9 MB/s eta 0:00:00
  Downloading jsonschema-4.5.1-py3-none-any.whl (72 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 72.9/72.9 kB 2.7 MB/s eta 0:00:00
  Downloading jsonschema-4.5.0-py3-none-any.whl (73 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 73.4/73.4 kB 5.7 MB/s eta 0:00:00
  Downloading jsonschema-4.4.0-py3-none-any.whl (72 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 72.7/72.7 kB 2.4 MB/s eta 0:00:00
  Downloading jsonschema-4.3.3-py3-none-any.whl (71 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 71.9/71.9 kB 1.7 MB/s eta 0:00:00
  Downloading jsonschema-4.3.2-py3-none-any.whl (71 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 71.8/71.8 kB 5.0 MB/s eta 0:00:00
Collecting cattrs<23.0.0,>=22.1.0 (from pytezos)
  Downloading cattrs-22.1.0-py3-none-any.whl (33 kB)

And here it is taking forever to resolve some more packes on Python 3.10:

  Using cached anyio-3.7.1-py3-none-any.whl (80 kB)
INFO: This is taking longer than usual. You might need to provide the dependency resolver with stricter constraints to reduce runtime. See https://pip.pypa.io/warnings/backtracking for guidance. If you want to abort this run, press Ctrl + C.
  Using cached anyio-3.7.0-py3-none-any.whl (80 kB)
  Using cached anyio-3.6.2-py3-none-any.whl (80 kB)
  Using cached anyio-3.6.1-py3-none-any.whl (80 kB)
  Using cached anyio-3.6.0-py3-none-any.whl (80 kB)
  Using cached anyio-3.5.0-py3-none-any.whl (79 kB)
INFO: pip is looking at multiple versions of anyio to determine which version is compatible with other requirements. This could take a while.
  Using cached anyio-3.4.0-py3-none-any.whl (78 kB)
  Using cached anyio-3.3.4-py3-none-any.whl (78 kB)
  Using cached anyio-3.3.3-py3-none-any.whl (78 kB)
  Using cached anyio-3.3.2-py3-none-any.whl (78 kB)
  Using cached anyio-3.3.1-py3-none-any.whl (77 kB)
INFO: This is taking longer than usual. You might need to provide the dependency resolver with stricter constraints to reduce runtime. See https://pip.pypa.io/warnings/backtracking for guidance. If you want to abort this run, press Ctrl + C.
  Using cached anyio-3.3.0-py3-none-any.whl (77 kB)
  Using cached anyio-3.2.1-py3-none-any.whl (75 kB)
  Using cached anyio-3.2.0-py3-none-any.whl (75 kB)
  Using cached anyio-3.1.0-py3-none-any.whl (74 kB)
INFO: pip is looking at multiple versions of tinycss2 to determine which version is compatible with other requirements. This could take a while.
Collecting tinycss2
  Using cached tinycss2-1.2.0-py3-none-any.whl (21 kB)
  Using cached tinycss2-1.1.1-py3-none-any.whl (21 kB)
  Using cached tinycss2-1.1.0-py3-none-any.whl (21 kB)
  Using cached tinycss2-1.0.2-py3-none-any.whl (61 kB)
  Using cached tinycss2-1.0.1-py3-none-any.whl (61 kB)
  Using cached tinycss2-1.0.0-py3-none-any.whl (61 kB)
  Using cached tinycss2-0.6.1-py2.py3-none-any.whl (61 kB)
INFO: pip is looking at multiple versions of tinycss2 to determine which version is compatible with other requirements. This could take a while.
  Using cached tinycss2-0.6.0-py2.py3-none-any.whl (61 kB)
  Using cached tinycss2-0.5.tar.gz (61 kB)
  Preparing metadata (setup.py) ... done
  Using cached tinycss2-0.4.tar.gz (17 kB)
  Preparing metadata (setup.py) ... done
  Using cached tinycss2-0.3.tar.gz (17 kB)
  Preparing metadata (setup.py) ... done
  Using cached tinycss2-0.2.tar.gz (14 kB)
  Preparing metadata (setup.py) ... done
INFO: This is taking longer than usual. You might need to provide the dependency resolver with stricter constraints to reduce runtime. See https://pip.pypa.io/warnings/backtracking for guidance. If you want to abort this run, press Ctrl + C.
  Using cached tinycss2-0.1.tar.gz (14 kB)
  Preparing metadata (setup.py) ... done
INFO: pip is looking at multiple versions of stack-data to determine which version is compatible with other requirements. This could take a while.
Collecting stack-data
  Using cached stack_data-0.6.2-py3-none-any.whl (24 kB)
  Using cached stack_data-0.6.1-py3-none-any.whl (24 kB)
  Using cached stack_data-0.6.0-py3-none-any.whl (24 kB)
  Using cached stack_data-0.5.1-py3-none-any.whl (24 kB)
  Using cached stack_data-0.5.0-py3-none-any.whl (24 kB)
  Using cached stack_data-0.4.0-py3-none-any.whl (23 kB)
  Using cached stack_data-0.3.0-py3-none-any.whl (23 kB)
INFO: pip is looking at multiple versions of stack-data to determine which version is compatible with other requirements. This could take a while.
  Using cached stack_data-0.2.0-py3-none-any.whl (21 kB)
  Using cached stack_data-0.1.4-py3-none-any.whl (20 kB)
  Using cached stack_data-0.1.3-py3-none-any.whl (20 kB)
  Using cached stack_data-0.1.2-py3-none-any.whl (20 kB)
  Using cached stack_data-0.1.1-py3-none-any.whl (20 kB)
INFO: This is taking longer than usual. You might need to provide the dependency resolver with stricter constraints to reduce runtime. See https://pip.pypa.io/warnings/backtracking for guidance. If you want to abort this run, press Ctrl + C.
  Using cached stack_data-0.1.0-py3-none-any.whl (20 kB)
  Using cached stack_data-0.0.7-py3-none-any.whl (20 kB)
  Using cached stack_data-0.0.6.tar.gz (17 kB)
  Preparing metadata (setup.py) ... done
  Using cached stack_data-0.0.5.tar.gz (15 kB)
  Preparing metadata (setup.py) ... done
  Using cached stack_data-0.0.4.tar.gz (6.3 kB)
  Preparing metadata (setup.py) ... done
  Using cached stack_data-0.0.3.tar.gz (6.2 kB)
  Preparing metadata (setup.py) ... done
  Using cached stack_data-0.0.2.tar.gz (6.2 kB)
  Preparing metadata (setup.py) ... done
  Using cached stack_data-0.0.1.tar.gz (6.2 kB)
  Preparing metadata (setup.py) 
droserasprout commented 9 months ago

Duplicate of #350; fixed in 3.10.2. Thanks for the report!