Rainmaker Claiming - Python Dep Conflict

JoshNOA
Posts: 25
Joined: Wed Aug 02, 2023 12:19 pm

Rainmaker Claiming - Python Dep Conflict

Postby JoshNOA » Mon Nov 06, 2023 1:43 pm

Hello Gang,

Recently needed to claim a device for debugging, something I havent done in a good few weeks, but definitely a process I am familiar with.

Got the following logs trying to overwrite the python environment for the rainmaker requirements.txt:

Code: Select all

root@ed104a40245a:/esp-rainmaker/cli# pip3 install -r requirements.txt
Collecting argparse (from -r requirements.txt (line 1))
  Using cached argparse-1.4.0-py2.py3-none-any.whl (23 kB)
Requirement already satisfied: requests>=2.22.0 in /opt/esp/python_env/idf5.1_py3.8_env/lib/python3.8/site-packages (from -r requirements.txt (line 2)) (2.31.0)
Collecting cmd2>=0.9.18 (from -r requirements.txt (line 3))
  Using cached cmd2-2.4.3-py3-none-any.whl (147 kB)
Collecting protobuf>=3.10.0 (from -r requirements.txt (line 4))
  Using cached protobuf-4.25.0-cp37-abi3-manylinux2014_x86_64.whl (294 kB)
Requirement already satisfied: packaging>=19.2 in /opt/esp/python_env/idf5.1_py3.8_env/lib/python3.8/site-packages (from -r requirements.txt (line 5)) (23.1)
Collecting oauth2client>=4.1.3 (from -r requirements.txt (line 6))
  Using cached oauth2client-4.1.3-py2.py3-none-any.whl (98 kB)
Requirement already satisfied: click>=5.0 in /opt/esp/python_env/idf5.1_py3.8_env/lib/python3.8/site-packages (from -r requirements.txt (line 7)) (8.0.4)
Requirement already satisfied: pyserial>=3.0 in /opt/esp/python_env/idf5.1_py3.8_env/lib/python3.8/site-packages (from -r requirements.txt (line 8)) (3.5)
Collecting future>=0.15.2 (from -r requirements.txt (line 9))
  Using cached future-0.18.3.tar.gz (840 kB)
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
  Preparing metadata (pyproject.toml) ... done
Collecting cryptography==2.4.2 (from -r requirements.txt (line 10))
  Using cached cryptography-2.4.2-cp34-abi3-manylinux1_x86_64.whl (2.1 MB)
Collecting pyparsing<2.4.0,>=2.0.3 (from -r requirements.txt (line 11))
  Using cached pyparsing-2.3.1-py2.py3-none-any.whl (61 kB)
Requirement already satisfied: pyelftools>=0.22 in /opt/esp/python_env/idf5.1_py3.8_env/lib/python3.8/site-packages (from -r requirements.txt (line 12)) (0.29)
Collecting esptool==4.4 (from -r requirements.txt (line 13))
  Using cached esptool-4.4.tar.gz (223 kB)
  Installing build dependencies ... \
done
  Getting requirements to build wheel ... done
  Preparing metadata (pyproject.toml) ... done
Collecting esp-secure-cert-tool==1.0.1 (from -r requirements.txt (line 14))
  Using cached esp-secure-cert-tool-1.0.1.tar.gz (19 kB)
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
  Preparing metadata (pyproject.toml) ... done
Requirement already satisfied: idna>=2.1 in /opt/esp/python_env/idf5.1_py3.8_env/lib/python3.8/site-packages (from cryptography==2.4.2->-r requirements.txt (line 10)) (3.4)
Collecting asn1crypto>=0.21.0 (from cryptography==2.4.2->-r requirements.txt (line 10))
  Using cached asn1crypto-1.5.1-py2.py3-none-any.whl (105 kB)
Requirement already satisfied: six>=1.4.1 in /opt/esp/python_env/idf5.1_py3.8_env/lib/python3.8/site-packages (from cryptography==2.4.2->-r requirements.txt (line 10)) (1.16.0)
Requirement already satisfied: cffi!=1.11.3,>=1.7 in /opt/esp/python_env/idf5.1_py3.8_env/lib/python3.8/site-packages (from cryptography==2.4.2->-r requirements.txt (line 10)) (1.15.1)
Collecting bitstring<4,>=3.1.6 (from esptool==4.4->-r requirements.txt (line 13))
  Using cached bitstring-3.1.9-py3-none-any.whl (38 kB)
Requirement already satisfied: ecdsa>=0.16.0 in /opt/esp/python_env/idf5.1_py3.8_env/lib/python3.8/site-packages (from esptool==4.4->-r requirements.txt (line 13)) (0.18.0)
Collecting reedsolo<=1.5.4,>=1.5.3 (from esptool==4.4->-r requirements.txt (line 13))
  Using cached reedsolo-1.5.4.tar.gz (271 kB)
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
  Preparing metadata (pyproject.toml) ... done
INFO: pip is looking at multiple versions of esp-secure-cert-tool to determine which version is compatible with other requirements. This could take a while.
ERROR: Cannot install -r requirements.txt (line 13), -r requirements.txt (line 14) and cryptography==2.4.2 because these package versions have conflicting dependencies.

The conflict is caused by:
    The user requested cryptography==2.4.2
    esptool 4.4 depends on cryptography>=2.1.4
    esp-secure-cert-tool 1.0.1 depends on cryptography==36.0.0

To fix this you could try to:
1. loosen the range of package versions you've specified
2. remove package versions to allow pip attempt to solve the dependency conflict

ERROR: ResolutionImpossible: for help visit https://pip.pypa.io/en/latest/topics/dependency-resolution/#dealing-with-dependency-conflicts

[notice] A new release of pip is available: 23.1.2 -> 23.3.1
[notice] To update, run: pip install --upgrade pip
root@ed104a40245a:/esp-rainmaker/cli# 



Ive never had an issue before, its a pretty straight forward error, but im not seeing anyone else report it?

Just for clarity, I work on ubuntu, its basically on a fresh install, I do all of my work through the docker 5.1 image at the moment.

Any help is gratefully received !

JC

JoshNOA
Posts: 25
Joined: Wed Aug 02, 2023 12:19 pm

Re: Rainmaker Claiming - Python Dep Conflict

Postby JoshNOA » Thu Nov 09, 2023 11:52 am

For those interested, I have gotten around this by rolling back to the 5.0.2 docker image for the purposes of claiming, seems to work as designed.

Who is online

Users browsing this forum: No registered users and 60 guests