Merkletools/pysha dependency conflict


#1

Hey guys, I am trying to run “python3 setup.py experimental --blockchain=ethereum”

And I keep bumping into the error “merkletools 1.0.2 has requirement pysha3==1.0b1, but you’ll have pysha3 1.0.2 which is incompatible.”

I found this post: Merkletools dependences pysha3

And have been following the instructions for MACOS. I would like to manually change to merkletools (==1.0.2) to merkletools (>=1.0.3), but I looked into my Python3 folder and there is no merkletools package in my site-packages folder. Any help is appreciated, thanks!


#2

Follow up question: is the merkletools folder originally included in the site-packages folder of python3 when i download it or do i need to download it?


#3

I believe it’s something that is handled whenever you try to setup/install cert-issuer.

There’s 2 ways I know of handling this, either changing the merkletools requirement from 1.0.2 to 1.0.3, or changing pysha3 requirement from 1.0b1 to 1.0.2.

To change merkletools to 1.0.3, then you want to look for

 site-packages/chainpoint-0.0.2.dist-info/METADATA

To change pysha3 to 1.0.2, then you want to look for

 site-packages/merkletools-1.0.2-py3.*.egg-info/requires.txt

Our docker file includes this hack by doing a ‘sed’ on the merkletools requires.txt, but until we can get the underlying packages to update dependencies, I’m not sure of any other solutions to this.


#4

If not using Docker, and using virtualenv, you can:

sed -i s/==1.0b1/==1.0.2/g ./venv/lib/python3.5/site-packages/merkletools-1.0.2.dist-info/METADATA